Filewatcher File Search
FTP Search
  
Directory 
  
Content Search 
   
pkg://newtonlink-1.29-1.src.rpm:291306/newtonlink-1.29.tar.gz  info  downloads

newtonlink-1.29/COPYRIGHT100444  21003   1604        2276  6574464401  14020 0ustar  kallischoeb--------------------------------------------------------------------------
Newtonlink - a program to transfer data between an Apple Newton PDA and
Unix applications like xrolodex, addressbook, kjots, netscape and plan.

COPYRIGHT (C) 1996 - 1998    The Newtonlink Developers
                             (newtonlink@newton.bawue.de)
---------------------------------------------------------------------------

    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.

The full text of the GNU General Public License is included with Newtonlink 
in the file GNU_GPL.

newtonlink-1.29/CallLpkg.pl100444  21003   1604        3023  6574464401  14542 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# CallLpkg
#---------------------------------------------------------------------

# $Log: CallLpkg.pl,v $
# Revision 1.1  1998/03/06 19:59:55  kalli
# Initial revision
#

sub CallLpkg {

    if (-e "$LPackageFile") {

        # call Filip R. Zawadiaks lpkg application for installing a Newton package
        system "$LpkgCommand $LPackageFile";

    } else {
        print "Error - File $LPackageFile not exists\n";
    }

}

1;
newtonlink-1.29/DeviceReadWrite.pl100444  21003   1604        6665  6574464401  16076 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#-----------------------------------------------------------------------
# DeviceReadWrite
#-----------------------------------------------------------------------

# $Log: DeviceReadWrite.pl,v $
# Revision 1.4  1998/09/01 13:52:32  kalli
# Im Fehlerfall wird String zurueckgegeben (wg. GreetUser.pl)
#
# Revision 1.3  1998/03/16 14:56:43  kalli
# Erste lauffaehige Version mit Timeout
#
# Revision 1.2  1998/03/08 20:45:21  kalli
# Neu mit Timeout
#
# Revision 1.1  1998/03/06 22:53:02  kalli
# Initial revision
#

# This function writes the string given by the second parameter to the 
# filehandle, given by the first parameter. The string is terminated with an 
# carriage return.

sub send_line {
   #print "$_[1]\n";
   syswrite ($_[0], "$_[1]\r", length ($_[1])+1) || die "sub send_line: write systemcall failed";
}


# This functions reads one line from the filehandle, given by the first 
# parameter. The line must be terminated with an carriage return or a line 
# feed or both. The return value is the read string.

sub receive_line {

    $SerialInBuffer  = "";              # clear input buffer
    $LastSerialInChar = "";
    $MAX_Time_Out    = 4;		# number out timeout
    $Time_Out_Count  = 0;		# time out counter

    vec ($vin, fileno (COMNEWTON), 1) = 1;

    # read until EOL or timeout
    while (1) {
    
        ($nfound, $timeleft) = select ($vout = $vin, undef, undef, $timeout);

	# not timed out
        if ($nfound != 0) {

            # try to read one character
            if (sysread ($_[0], $SerialInChar, 1) < 0)  {
	        print " Error read from Newton\n";
	     	  
	    } else {
	    
	        # print Hexdump for Debug
                #$nin = ord ($SerialInChar);
		#printf ("%0x ", $nin);
		
	        # reset timout counter
	        $Time_Out_Count = 0;

	        # line end reached (0a/0a) ?
                if (($LastSerialInChar eq "\x0a") && ($SerialInChar eq "\x0a")) {
                    # remove last 0a
                    chop $SerialInBuffer;
		    return $SerialInBuffer;
                } else {
                    $SerialInBuffer = $SerialInBuffer . $SerialInChar;
		    $LastSerialInChar = $SerialInChar;
	        }
	    }

	} else	{ 

            # blink for wait
	    $Time_Out_Count++;

            # timeout reached, stop
	    if ( $Time_Out_Count > $MAX_Time_Out) { 
	       #die "\nNewton connection timeout\n";
               return "Timeout reached";
	    }
	}
	
	$nfound = 0;
    }
}

1;
newtonlink-1.29/GNU_GPL100444  21003   1604       43076  6574464401  13626 0ustar  kallischoeb		    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.
newtonlink-1.29/Get4Addressbook.pl100444  21003   1604        6155  6574464401  16046 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4Addressbook
#---------------------------------------------------------------------

# $Log: Get4Addressbook.pl,v $
# Revision 1.8  1998/09/02 13:53:49  kalli
# *** empty log message ***
#
# Revision 1.7  1998/03/07 12:37:33  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.6  1997/12/06 17:17:17  kalli
# Umstellung auf Sloup
#
# Revision 1.5  1997/09/28 09:48:51  kalli
# Aenderungen von Andrew :
# select-Statement
#
# Revision 1.4  1997/03/27 19:33:28  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:02:44  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 16:51:11  kalli
# GPL dazu
#
# Revision 1.1  1996/11/24 19:38:47  kalli
# Initial revision
#

sub Get4Addressbook {

    # reset counter
    $ABc = 0;
    
    # Get actual Newton cards
    &GetCards;

    # save old Addressbook file
    if (-e "$AddressbookFile") {
	rename ("$AddressbookFile", "$AddressbookFile.bak");
    }

    # Open Newtonlink cards file
    open (NLCARDFILE, "$NLCardsFile")  || die "Can't open File : $!\n";

    # Open new addressbook file
    open (PFILE, ">> $AddressbookFile")  || die "Can't open File : $!\n";

    # print to stdout
    printf "Writing addressbook file $AddressbookFile ...\n";
    
    while (<NLCARDFILE>) {

        ($Cardclass, $CardlastName, $CardfirstName, $Cardhonorific, $Cardaddress, $Cardcountry, $Cardpostal_code,
         $Cardcity, $Cardbday, $CardhomePhone, $CardworkPhone, $CardfaxPhone, $Cardemail, $Cardcompany) = split(/;/, $_, 20);

        if ( ($Cardclass eq "company") || ($Cardclass eq "person") || ($Cardclass eq "owner") ) {
	    # save to memory
	    $ABArr[$ABc++] = "$CardlastName;$CardfirstName;$Cardhonorific;$Cardaddress;$Cardcountry;$Cardpostal_code;$Cardcity;$Cardbday;$CardhomePhone;$CardworkPhone;$CardfaxPhone;$Cardemail;$Cardcompany;";
        }
    }

    # sort entrys alpabetical
    @ABArrSorted = sort @ABArr;

    # write cards file
    for ($ABi = 0; $ABi < $ABc; $ABi++) {
   	printf PFILE "$ABArrSorted[$ABi]\n";
    }

    # close files
    close (PFILE);
    close (NLCARDFILE);
}

1;
newtonlink-1.29/Get4Kjots.pl100444  21003   1604        4642  6574464401  14677 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4Kjots
#---------------------------------------------------------------------

# $Log: Get4Kjots.pl,v $
# Revision 1.8  1998/09/02 13:54:13  kalli
# *** empty log message ***
#
# Revision 1.7  1998/09/01 14:52:17  kalli
# Umstellung auf Notes-File : Newtonlink Notesfile wird gelesen und als Kjots-File
# geschrieben.
#
# Revision 1.6  1998/06/28 16:33:00  kalli
# Aenderungen vo Tosten Uhlmann :
# select dazu, neue Replaces
#
# Revision 1.5  1998/03/16 14:57:33  kalli
# Umstellung auf ser. Treiber mit Timeout
#
# Revision 1.4  1998/03/07 17:29:44  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.3  1998/02/07 19:54:48  kalli
# Aenderung von Torsten :
# Sortierund der Notes
#
# Revision 1.1  1998/02/01 18:07:51  kalli
# Initial revision
#

sub Get4Kjots {
    
    # Get actual Newton notes
    &GetNotes;

    # save old Kjots file
    if (-e "$KjotsFile") {
	rename ("$KjotsFile", "$KjotsFile.bak");
    }

    # Open Newtonlink notes file
    open (NLNOTESFILE, "$NLNotesFile")  || die "Can't open File : $NLNotesFile\n";

    # Open new Kjots file
    open (KJFILE, ">> $KjotsFile")  || die "Can't open File : $KjotsFile\n";

    # print to stdout
    printf "Writing kjots file $KjotsFile ...\n";

    while (<NLNOTESFILE>) {
        print KJFILE $_
    }
   
    close (KJFILE);
    close (NLNOTESFILE);    
}

1;



newtonlink-1.29/Get4KsendfaxPhonebook.pl100444  21003   1604        5500  6574464401  17207 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4KsendfaxPhonebook
#---------------------------------------------------------------------

# $Log: Get4KsendfaxPhonebook.pl,v $
# Revision 1.1  1998/09/02 13:54:31  kalli
# Initial revision
#

# format for Ksendfax phonebook file
format KSFAXFILE = 
@<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$CardfaxPhone       $CardName                $Cardcompany
.


sub Get4KsendfaxPhonebook {

    # Get actual Newton cards
    &GetCards;

    # save old Ksendfax phonebook file
    if (-e "$KsendfaxPhonebookFile") {
	rename ("$KsendfaxPhonebookFile", "$KsendfaxPhonebookFile.bak");
    }
    
    # Open Newtonlink cards file
    open (NLCARDFILE, "$NLCardsFile")  || die "Can't open File : $!\n";

    # Open Ksendfax phonebook file
    open (KSFAXFILE, ">> $KsendfaxPhonebookFile")  || die "Can't open File : $!\n";
    
    # print to stdout
    printf "Writing Ksendfax phonebook file $KsendfaxPhonebookFile ...\n";
    
    while (<NLCARDFILE>) {

        ($Cardclass, $CardlastName, $CardfirstName, $Cardhonorific, $Cardaddress, $Cardcountry, $Cardpostal_code,
         $Cardcity, $Cardbday, $CardhomePhone, $CardworkPhone, $CardfaxPhone, $Cardemail, $Cardcompany) = split(/;/, $_, 20);

        if ( ($Cardclass eq "company") || ($Cardclass eq "person") || ($Cardclass eq "owner") ) {

            if ($CardfaxPhone ne "") {
                $CardName = "$CardlastName, ". "$CardfirstName";
                # delete special characters ()x
                $CardfaxPhone =~ s/\(/ /g;
                $CardfaxPhone =~ s/\)/ /g;
                $CardfaxPhone =~ s/x/ /g;
	        write KSFAXFILE;
            }
        }
    }
    
    # close files
    close (KSFAXFILE);
    close (NLCARDFILE);
}

1;
newtonlink-1.29/Get4Mail.pl100444  21003   1604       20724  6574464401  14506 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4Mail
#---------------------------------------------------------------------

# Revision 1.1  1997/02/22 21:20:00  dev
# Incorporated changes from Get4NetscapeMail.pl, Revision 1.5

# Revision 1.0  1997/02/22 19:00:00  dev
# Initial revision
# based on Get4NetscapeMail.pl, Revision 1.2
#

sub Get4Mail {

    select((select(STDOUT), $|=1)[$[]);

    # have you set your address in .newtonlink ?
    if ( $YourEmailAddress eq "Your.Name\@host.domain" ) {
	print "\nWARNING\n";
	if (-e "$ENV{'HOME'}/.newtonlink"){
	    print "Before sending mail you need to set the value of ";
	    print "\$YourEmailAddress\nin ".$ENV{'HOME'}."/.newtonlink";
	    print " or /etc/newtonlink.config\n";
	} else {
	    print "Before sending mail you need to set the value of ";
	    print "\$YourEmailAddress\nin \~/.newtonlink";
	    print " or /etc/newtonlink.config\n";
	}
	print "Mail fetch aborted.\n";
	return;
    }
    
    # start counter
    $EmailCounter = 0;
    # set marker
    $MailOn = "off";

    # send commands to Sloup (get "to" entries)
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'toRef: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {
	    #print;

	    # calculate number of to-entries
	    $ToCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    # create string
	    $ToString[$MessCount] =  "To: ";	    
	    for ($ri = 0; $ri < $ToCount[$MessCount]; $ri++) {
		$ToString[$MessCount] = "$ToString[$MessCount]".",\n" if ($ri > 0); 
		$ToString[$MessCount] = "$ToString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>";
	    }

	    #print "Message contains $ToCount[$MessCount] TO-entries :\n";
	    #print "$ToString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }

    # send commands to Sloup (get "cc" entries)
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'cc: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {
	    #print;

	    # calculate number of cc-entries
	    $CCCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    # create string
	    for ($ri = 0; $ri < $CCCount[$MessCount]; $ri++) {
		if( ($ri == 0 ) && (length( $Arrr[($ri*3)+2]) > 0)) {
                    $CCString[$MessCount] =  "CC: ";
                }
		if( length( $Arrr[($ri*3)+2]) > 0) {
	            $CCString[$MessCount] = "$CCString[$MessCount]".",\n" if ($ri > 0); 
	            $CCString[$MessCount] = "$CCString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>"; 
                }
	    }

	    #print "Message contains $CCCount[$MessCount] CC-entries :\n";
	    #print "$CCString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }


    # send commands to Sloup (get "bcc" entries)
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'bcc: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {

	    # calculate number of cc-entries
	    $BCCCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    for ($ri = 0; $ri < $BCCCount[$MessCount]; $ri++) {
		if( ($ri == 0 ) && (length( $Arrr[($ri*3)+2]) > 0)) {
                    $BCCString[$MessCount] =  "BCC: ";
                }
		if( length( $Arrr[($ri*3)+2]) > 0) {
	            $BCCString[$MessCount] = "$BCCString[$MessCount]".",\n" if ($ri > 0); 
	            $BCCString[$MessCount] = "$BCCString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>"; 
                }
	    }

	    #print "Message contains $BCCCount[$MessCount] BCC-entries :\n";
	    #print "$BCCString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }

    
    # send commands to Sloup
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string", title: "string", dateStr: "string",' .
                           'fromName: "string", text: "string"}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line(COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	($Estate, $Ecategory, $Etitle, $EdateStr, $EfromName, $Ebody) = split(/\t/, $_, 20);

	# if new outbox entry
	if (defined ($Estate) && ($Estate eq "ready")) {

	    if (defined ($Ecategory) && ($Ecategory eq $NewtonMailer)) {

		# set marker
		$MailOn = "on";

                # Open pipe to mailer
                open (MAIL, "| $MailCommand")  || die "Can't open File : $!\n";

		# print to file
		#printf MAIL "Message-ID: <>\n";
		printf MAIL "From: $EfromName \<$YourEmailAddress\>\n";
		printf MAIL "Reply-To: $EfromName \<$YourEmailAddress\>\n";
		printf MAIL "Organization: $YourOrganisation\n";
		printf MAIL "X-Mailer: Newton eWorld mail (via newtonlink/Linux)\n";
		printf MAIL "MIME-Version: 1.0\n";
		printf MAIL "$ToString[$MessCount]\n";
		printf MAIL "$CCString[$MessCount]\n" if ( length ($CCString[$MessCount]) > 0); 
		printf MAIL "$BCCString[$MessCount]\n" if ( length ($BCCString[$MessCount]) > 0);
		printf MAIL "Subject: $Etitle\n";
		printf MAIL "Content-Type: text/plain; charset=us-ascii\n";
		printf MAIL "Content-Transfer-Encoding: 7bit\n\n";
		printf MAIL "\n$Ebody\n";

		$MessCount++;
		# Print sign to stdout
		print "#";
		$EmailCounter++;
	
	    } else {
		# reset marker
		$MailOn = "off";
    # close file
     close (MAIL);
	    }

	# if not new outbox entry
	} elsif ($MailOn eq "on") {
	    print MAIL;
	}

    }

    # close file
    close (MAIL);
    # print to stdout
    print ("\n$EmailCounter eWorld emails transfered");
}

1;
newtonlink-1.29/Get4NetscapeAddressbook.pl100444  21003   1604       17007  6574464401  17547 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
# 
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4NetscapeAddress-book
#---------------------------------------------------------------------

# $Log: Get4NetscapeAddressbook.pl,v $
# Revision 1.12  1998/09/02 13:55:21  kalli
# *** empty log message ***
#
# Revision 1.11  1998/03/07 14:15:58  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.10  1998/01/11 16:23:22  kalli
# Erweiterung von Gerald Hofer fuer IRIX :
# Es wird zwischendurch ein Reopen auf COMNEWTON gemacht.
#
# Revision 1.9  1997/12/06 17:14:45  kalli
# Umstellung auf sloup
#
# Revision 1.8  1997/09/28 09:52:56  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.7  1997/05/31 09:48:01  kalli
# Unterscheidung limited/unlimited repeat meetings
#
# Revision 1.6  1997/05/30 13:21:54  kalli
# Netscape Communicator addressbook file wird vorher gesichert
#
# Revision 1.5  1997/05/29 20:55:29  kalli
# Email groups dazu
#
# Revision 1.4  1997/03/27 19:35:38  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:05:36  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 16:55:35  kalli
# GPL dazu
#
# Revision 1.1  1997/02/22 16:53:26  kalli
# Initial revision
#

sub Get4NetscapeAddressbook {

    # Get actual Newton cards
    &GetCards;

    # start counter
    $NsAn = 0;
    $NsGr = 0;

    # save old Netscape Navigator Addressbook file
    if (-e "$NetscapeNavigatorAddressbookFile") {
	rename ("$NetscapeNavigatorAddressbookFile", "$NetscapeNavigatorAddressbookFile.bak");
    }

    # save old Netscape Communicator Addressbook file
    if (-e "$NetscapeCommunicatorAddressbookFile") {
	rename ("$NetscapeCommunicatorAddressbookFile", "$NetscapeCommunicatorAddressbookFile.bak");
    }

    # Open Newtonlink cards file
    open (NLCARDFILE, "$NLCardsFile")  || die "Can't open File : $!\n";

    # Open Navigator addressbook file
    open (NSAFILE, ">> $NetscapeNavigatorAddressbookFile")  || die "Can't open File : $!\n";

    # print to stdout
    printf "Writing Navigator addressbook file $NetscapeNavigatorAddressbookFile ...\n";
    
    while (<NLCARDFILE>) {

        ($Cardclass, $CardlastName, $CardfirstName, $Cardhonorific, $Cardaddress, $Cardcountry, $Cardpostal_code,
         $Cardcity, $Cardbday, $CardhomePhone, $CardworkPhone, $CardfaxPhone, $Cardemail, $Cardcompany) = split(/;/, $_, 20);

        if ( ($Cardclass eq "company") || ($Cardclass eq "person") || ($Cardclass eq "owner") ) {

            if ($Cardemail ne "") {
	        $NsPersonAddressCounter++;
	        # save to memory
	        $NsAdrArr[$NsAn++] = "$CardlastName\t$CardfirstName\t$Cardemail";
            }
        }
    }

    # write addressbook header
    printf NSAFILE "<!DOCTYPE NETSCAPE-Addressbook-file-1>\n";
    printf NSAFILE "<!-- This is an automatically generated file by newtonlink.\n";
    printf NSAFILE "It will be read and overwritten.\n";
    printf NSAFILE "Do Not Edit! -->\n";
    printf NSAFILE "<TITLE>My Address book generated by Newtonlink</TITLE>\n";
    printf NSAFILE "<H1>My Address book generated by Newtonlink</H1>\n\n";
    printf NSAFILE "<DL><p>\n";

    # sort entrys
    @NsAdrArrSorted = sort @NsAdrArr;

    for ($Bi = 0; $Bi < $NsAn; $Bi++) {

	# split into
	($NsBlastName, $NsBfirstName, $NsBemail) = split(/\t/, $NsAdrArrSorted[$Bi], 20);
	# replace German Umlaute (not allowed in names)
	$NsBlastName =~ s//oe/g;
	$NsBlastName =~ s//ae/g;
	$NsBlastName =~ s//ue/g;
	$NsBlastName =~ s//ss/g;
	$NsBlastName =~ s//Oe/g;
	$NsBlastName =~ s//Ae/g;
	$NsBlastName =~ s//Ue/g;
	$NsBfirstName =~ s//oe/g;
	$NsBfirstName =~ s//ae/g;
	$NsBfirstName =~ s//ue/g;
	$NsBfirstName =~ s//ss/g;
	$NsBfirstName =~ s//Oe/g;
	$NsBfirstName =~ s//Ae/g;
	$NsBfirstName =~ s//Ue/g;
	# lowercase nickname
	$NsBnickname = $NsBfirstName;
	$NsBnickname =~ /.{2,}/;
	$NsBnickname = lc "$NsBlastName$NsBnickname";
	# substitude blanks
	$NsBnickname =~ s/ //g;
	# replace German Umlaute (not allowed in nicknames)
	$NsBnickname =~ s//oe/g;
	$NsBnickname =~ s//ae/g;
	$NsBnickname =~ s//ue/g;
	$NsBnickname =~ s//ss/g;
	$NsBnickname =~ s//Oe/g;
	$NsBnickname =~ s//Ae/g;
	$NsBnickname =~ s//Ue/g;
	# write to addressbook file
	printf NSAFILE "    <DT><A HREF=\"mailto:$NsBemail\" ALIASID=\"$Bi\" NICKNAME=\"$NsBnickname\">$NsBlastName, $NsBfirstName</A>\n";
    }

    # close file
    close (NLCARDFILE);
    # Reopen Newtonlink cards file
    open (NLCARDFILE, "$NLCardsFile")  || die "Can't open File : $!\n";

    while (<NLCARDFILE>) {

	if ($_ ne "\n") {

	    # split into
	    @Arre = split(/;/, $_);

	    # if group entry
	    if ($Arre[0] eq "group") {

		# calculate number of email addresses in group
		$GroupAdrCount = (scalar @Arre) - 3;

		# lowercase group nickname
		$NsGnickname = lc "$Arre[1]";
		# substitude blanks
		$NsGnickname =~ s/ //g;
		# replace German Umlaute (not allowed in nicknames)
		$NsGnickname =~ s//oe/g;
		$NsGnickname =~ s//ae/g;
		$NsGnickname =~ s//ue/g;
		$NsGnickname =~ s//ss/g;
		$NsGnickname =~ s//Oe/g;
		$NsGnickname =~ s//Ae/g;
		$NsGnickname =~ s//Ue/g;

		# write addressbook group header
		printf NSAFILE "    <DT><H3 NICKNAME=\"$NsGnickname\">$Arre[1]</H3>\n";
		printf NSAFILE "    <DL><p>\n";

		# write group to addressbook file
		for ($Bnf = 0; $Bnf < $GroupAdrCount; $Bnf++) {

		    # look for email address in array
		    $EmailAdrFound = 0;
		    for ($Biz = 0; $Biz < ($NsPersonAddressCounter + $NsCompanyAddressCounter); $Biz++) {

			# split into
			($NsAlastName, $NsAfirstName, $NsAemail) = split(/\t/, $NsAdrArrSorted[$Biz], 20);

			# replace German Umlaute (not allowed in names)
			$NsAlastName =~ s//oe/g;
			$NsAlastName =~ s//ae/g;
			$NsAlastName =~ s//ue/g;
			$NsAlastName =~ s//ss/g;
			$NsAlastName =~ s//Oe/g;
			$NsAlastName =~ s//Ae/g;
			$NsAlastName =~ s//Ue/g;
			$NsAfirstName =~ s//oe/g;
			$NsAfirstName =~ s//ae/g;
			$NsAfirstName =~ s//ue/g;
			$NsAfirstName =~ s//ss/g;
			$NsAfirstName =~ s//Oe/g;
			$NsAfirstName =~ s//Ae/g;
			$NsAfirstName =~ s//Ue/g;

			if ("$NsAemail" eq "$Arre[$Bnf+2]") {
			    printf NSAFILE "        <DT><A HREF=\"mailto:$Arre[$Bnf+2]\" ALIASOF=\"$Biz\">$NsAlastName, $NsAfirstName</A>\n";
			    $EmailAdrFound++;			    
			}
		    }

		    # print error message if address not found in array
		    if ($EmailAdrFound == 0) {
			printf "\nError : Address $Arre[$Bnf+2] not found in group $Arre[1] !";
		    }
	        }

		# write addressbook group footer
		printf NSAFILE "    </DL><p>\n";
	    }
	}

    }


    # write addressbook footer
    printf NSAFILE "</DL><p>\n";

    # close files
    close (NSAFILE);
    close (NLCARDFILE);
}

1;


newtonlink-1.29/Get4NetscapeMail.pl100444  21003   1604       21760  6574464401  16172 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4NetscapeMail
#---------------------------------------------------------------------

# $Log: Get4NetscapeMail.pl,v $
# Revision 1.12  1998/03/07 13:25:53  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.11  1997/12/06 17:13:24  kalli
# Umstellung auf Sloup
#
# Revision 1.10  1997/12/06 16:31:02  kalli
# Variable NewtonMailer nach Vorschlag von jack Snoeyink eingefuehrt
#
# Revision 1.9  1997/09/28 09:54:44  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.8  1997/05/28 19:14:49  kalli
# Aenderungen von Gerald Hofer fuer IRIX
#
# Revision 1.7  1997/03/27 19:36:42  kalli
# Andrew dazu
#
# Revision 1.6  1997/02/24 20:48:04  kalli
# Ausrufezeichen in Email-Adressen
#
# Revision 1.5  1997/02/23 14:58:18  kalli
# Ausgabe von Debuginfos raus
#
# Revision 1.4  1997/02/23 12:50:06  kalli
# Bugfixes, Umlaute werden nach ae, oe ... gewandelt
#
# Revision 1.3  1997/02/22 16:49:26  kalli
# Umstellung auf mehrfache TO, CC, und BCC Eintraege
#
# Revision 1.2  1996/12/04 17:39:31  kalli
# some bugs fixed
#
# Revision 1.1  1996/11/24 19:43:30  kalli
# Initial revision
#

sub Get4NetscapeMail {

    select((select(STDOUT), $|=1)[$[]);
    
    # start counter
    $NetscapeEmailCounter = 0;
    # set marker
    $MailOn = "off";

    # Open file
    open (NSFILE, ">> $NetscapeOutboxFile")  || die "Can't open File : $!\n";

    # send commands to Sloup (get "to" entries)
    &send_line (COMNEWTON, "\nOutbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'toRef: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {
	    #print;

	    # calculate number of to-entries
	    $ToCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    # create string
	    $ToString[$MessCount] =  "To: ";	    
	    for ($ri = 0; $ri < $ToCount[$MessCount]; $ri++) {
		$ToString[$MessCount] = "$ToString[$MessCount]".",\n" if ($ri > 0); 
	        $ToString[$MessCount] = "$ToString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>";
	    }

	    # Print sign to stdout
	    print ".";
	    #print "Message contains $ToCount[$MessCount] TO-entries :\n";
	    #print "$ToString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }


    # send commands to Sloup (get "cc" entries)
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'cc: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {
	    #print;

	    # calculate number of cc-entries
	    $CCCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    # create string
	    $CCString[$MessCount] =  "CC: ";	    
	    for ($ri = 0; $ri < $CCCount[$MessCount]; $ri++) {
		if( ($ri == 0 ) && (length( $Arrr[($ri*3)+2]) > 0)) {
                    $CCString[$MessCount] =  "CC: ";
                }
		if( length( $Arrr[($ri*3)+2]) > 0) {
		    $CCString[$MessCount] = "$CCString[$MessCount]".",\n" if ($ri > 0); 
		    $CCString[$MessCount] = "$CCString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>";
                } 
	    }

	    # Print sign to stdout
	    print ".";
	    #print "Message contains $CCCount[$MessCount] CC-entries :\n";
	    #print "$CCString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }

    # send commands to Sloup (get "bcc" entries)
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string",' .
                           'bcc: [{email: "binary", name: {first: "string", last: "string"}}]}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	@Arrr = split(/;/, $_);

	# if new outbox entry
	if (($Arrr[0] eq "ready") && ($Arrr[1] eq $NewtonMailer)) {

	    # calculate number of cc-entries
	    $BCCCount[$MessCount] = ((scalar @Arrr) - 3) / 3;

	    # create string
	    $BCCString[$MessCount] =  "BCC: ";	    
	    for ($ri = 0; $ri < $BCCCount[$MessCount]; $ri++) {
		if( ($ri == 0 ) && (length( $Arrr[($ri*3)+2]) > 0)) {
                    $BCCString[$MessCount] =  "BCC: ";
                }
		if( length( $Arrr[($ri*3)+2]) > 0) {
		    $BCCString[$MessCount] = "$BCCString[$MessCount]".",\n" if ($ri > 0); 
		    $BCCString[$MessCount] = "$BCCString[$MessCount]"." \""."$Arrr[($ri*3)+2+2]"." "."$Arrr[($ri*3)+1+2]"."\" "."<$Arrr[($ri*3)+2]>"; 
		}
	    }

	    # Print sign to stdout
	    print ".";
	    #print "Message contains $BCCCount[$MessCount] BCC-entries :\n";
	    #print "$BCCString[$MessCount]\n";
	    $MessCount++;
        }
    }

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }

    
    # send commands to Sloup
    &send_line (COMNEWTON, "Outbox");
    &send_line (COMNEWTON, '{state: "string", category: "string", title: "string", dateStr: "string",' .
                           'fromName: "string", text: "string"}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    # reset message counter
    $MessCount = 0;

    while (($_ = &receive_line(COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
	s/\232/oe/g; s/\212/ae/g; s/\237/ue/g; s/\247/ss/g; s/\205/Oe/g; s/\200/Ae/g; s/\206/Ue/g;
	# split into
	($Estate, $Ecategory, $Etitle, $EdateStr, $EfromName, $Ebody) = split(/\t/, $_, 20);

	# if new outbox entry
	if (defined ($Estate) && ($Estate eq "ready")) {

	    if (defined ($Ecategory) && ($Ecategory eq $NewtonMailer)) {

		# set marker
		$MailOn = "on";
		# print to file
		printf NSFILE "From - $EdateStr\n";
		printf NSFILE "X-Mozilla-Status: 0801\n";
		printf NSFILE "FCC: /home/e1l52/nsmail/Sent\n";
		printf NSFILE "$BCCString[$MessCount]\n";
		printf NSFILE "Message-ID: <>\n";
		printf NSFILE "Date: $EdateStr\n";
		printf NSFILE "From: $EfromName \<$YourEmailAddress\>\n";
		printf NSFILE "Reply-To: $EfromName \<$YourEmailAddress\>\n";
		printf NSFILE "Organization: $YourOrganisation\n";
		printf NSFILE "X-Mailer: Newton eWorld mail (via Newtonlink)\n";
		printf NSFILE "MIME-Version: 1.0\n";
		printf NSFILE "$ToString[$MessCount]\n";
		printf NSFILE "$CCString[$MessCount]\n";
		printf NSFILE "Subject: $Etitle\n";
		printf NSFILE "Content-Type: text/plain; charset=us-ascii\n";
		printf NSFILE "Content-Transfer-Encoding: 7bit\n\n";
		printf NSFILE "\n$Ebody\n";

		$MessCount++;
		# Print sign to stdout
		print "#";
		$NetscapeEmailCounter++;
	
	    } else {
		# reset marker
		$MailOn = "off";
	    }

	# if not new outbox entry
	} elsif ($MailOn eq "on") {
	    print NSFILE "$_\n";
	}

    }

    # close file
    close (NSFILE);
    # print to stdout
    print ("\n$NetscapeEmailCounter eWorld emails transfered");
}

1;
newtonlink-1.29/Get4WebAddress.pl100444  21003   1604        3242  6574464401  15623 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4WebAddress
#---------------------------------------------------------------------

# $Log: Get4WebAddress.pl,v $
# Revision 1.3  1998/09/02 13:55:44  kalli
# *** empty log message ***
#
# Revision 1.2  1998/03/07 18:05:05  kalli
# *** empty log message ***
#
# Revision 1.1  1997/11/30 11:52:22  kalli
# Initial revision
#

sub Get4WebAddress {

    # Get Newton addresses and write to addressbook file
    &Get4Addressbook;

    printf "Writing WebAddress files ...\n";

    # Call WebAddress to convert from addressbook format
    system "$WebAddressCommand";
}

1;
newtonlink-1.29/Get4XfmailAddressbook.pl100444  21003   1604        6303  6574464401  17202 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4XfmailAddressbook
#---------------------------------------------------------------------

# $Log: Get4XfmailAddressbook.pl,v $
# Revision 1.5  1998/07/05 17:16:55  kalli
# Alle Kommas raus bei Namen
#
# Revision 1.4  1998/03/07 17:49:35  kalli
# Umstellung auf Developer
#
# Revision 1.3  1997/12/17 09:41:18  kalli
# *** empty log message ***
#
# Revision 1.2  1997/11/17 19:30:06  kalli
# First rev.
#
# Revision 1.1  1997/11/17 18:52:07  kalli
# Initial revision
#

sub Get4XfmailAddressbook {

    # Get Newton addresses and write to Netscape addressbook file
    &Get4NetscapeAddressbook;

    # save old Xfmail Addressbook file
    if (-e "$XfmailAddressbookFile") {
	rename ("$XfmailAddressbookFile", "$XfmailAddressbookFile.bak");
    }
    
    # Open Netscape Navigator Addressbook file
    open (NSABOOKFILE, "$NetscapeNavigatorAddressbookFile")  || die "Can't open File : $!\n";

    # Open Xfmail Addressbook file
    open (XFBOOKFILE, ">> $XfmailAddressbookFile")  || die "Can't open File : $!\n";
    
    # print to stdout
    printf "Writing Xfmail addressbook file ...\n";
    
    while (<NSABOOKFILE>) {

	chop($_);
	
	if (/<\/DL>/) {
	    $folded = 0;
	}
	
	if(/<DT>/) {
	
	    if(/H3/) {
	    
		$folded = 1;
		s/<DT>//;
		s/<H3 FOLDED>//;
		s/<H3 NICKNAME=".*">//;
		s/<\/H3>//;
		s/ //g;
		s/,//g;
		printf XFBOOKFILE "@ ".$_."\n";
		
	    } else {
		
		unless ($folded == 1) {
		    printf XFBOOKFILE "@ \n";
		}
		$line = $_;
		
		s/>//g;
		s/<DT<A HREF=//;
		s/<\/A//;
		s/ALIAS.*=.*//;
		
		s/NICKNAME=.*//;

		s/\"mailto://;

		s/\".*//;
		
		s/ //g;
		s/,//g;
		$mailaddress = "<" . $_ . ">";

		$_ = $line;
		
		s/<DT><A HREF=\".*\"//;
		s/<\/A>//;
		s/>//;
		s/  //g;
		s/,//g;
		
		@names = split / /;
		
		if ($names[1] eq '') {
		    printf XFBOOKFILE " ".$names[0]." ".$mailaddress."\n";
		} elsif ($names[2] eq '') {
		    printf XFBOOKFILE " ".$names[0]." ".$names[1]." ".$mailaddress."\n";
		} else {
		    printf XFBOOKFILE " ".$names[0]." ".$names[1]." ".$names[2]." ".$mailaddress."\n";
		}
	    }
	} else {
	}
    }
    
    # close files
    close (NSABOOKFILE);
    close (XFBOOKFILE);
}

1;
newtonlink-1.29/Get4Xrolodex.pl100444  21003   1604        7200  6574464401  15402 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# Get4Xrolodex
#---------------------------------------------------------------------

# $Log: Get4Xrolodex.pl,v $
# Revision 1.10  1998/09/02 13:56:21  kalli
# *** empty log message ***
#
# Revision 1.9  1998/08/29 17:20:32  kalli
# Select statement wieder eingefuehrt
#
# Revision 1.8  1998/03/22 19:45:43  kalli
# Previewer lt. Configfile
#
# Revision 1.7  1998/03/07 12:24:46  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.6  1997/12/06 17:27:02  kalli
# Umstellung auf Sloup
#
# Revision 1.5  1997/09/28 09:56:02  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.4  1997/03/27 19:37:48  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:07:22  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 16:57:52  kalli
# GPL dazu
#
# Revision 1.1  1996/11/24 19:28:35  kalli
# Initial revision
#

sub Get4Xrolodex {

    # Get actual Newton notes
    &GetNotes;

    $NotesCounter = 0;

    # save old Xrolodex file
    if (-e "$XrolodexFile") {
	rename ("$XrolodexFile", "$XrolodexFile.bak");
    }

    # Open Newtonlink notes file
    open (NLNKNOTESFILE, "$NLNotesFile")  || die "Can't open File : $NLNotesFile\n";

    # Open new Xrolodex file
    open (XRFILE, ">> $XrolodexFile")  || die "Can't open File : $XrolodexFile\n";

    if ($XroloPrintCommand ne "") {
	# save old printout file
	if (-e "$XroloPrintFile") {
	    rename ("$XroloPrintFile", "$XroloPrintFile.bak");
	}
	# Open file
	open  (XRPRFILE, ">> $XroloPrintFile")  || die "Can't open File : $XroloPrintFile\n";
    }

    # print to stdout
    printf "Writing xrolodex file $XrolodexFile ...\n";

    while (<NLNKNOTESFILE>) {

        ($FirstWord) = split(/ /, $_, 20);

        if ($FirstWord eq "\\NewEntry") {
            print XRFILE "####\n";
            print XRPRFILE "\n\n\n";
            $NotesCounter++;
        } else {   
            print XRFILE $_;
            print XRPRFILE $_;
        }
    }

    # close files
    close (XRFILE);
    close (NLNKNOTESFILE);

    if ($NotesCounter > 0) {

        if ($XroloPrintCommand ne "") {

	    close (XRPRFILE);
            printf "\nCreate postscript file $XroloPrintFile.ps\n";
	    # convert print file to postscript
	    system "$XroloPrintCommand $XroloPrintFile > $XroloPrintFile.ps";

            # start previewer
            if ($XroloPrintPreviewCommand ne "") {
	        printf "Starting previewer\n";
	        system "$XroloPrintPreviewCommand $XroloPrintFile.ps &";
	    }
        }
	
	if ($XrolodexCommand ne "") {
            printf "Starting Xrolodex\n";
	    system "$XrolodexCommand $XrolodexFile &";
	}
    }
}

1;
newtonlink-1.29/GetCards.pl100444  21003   1604       13015  6574464401  14567 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetCards
#
# This function reads the contents of all Newton cards and writes it
# to a file $NLCardsFile. This file can be used to create application
# specific input files like .addresses.dat
#
# Each line of this file shows the content of one Newton card in the
# following order (separated by colons) :
# class; last name; first name; honorific; address; country; postalcode;
# city; birthday; home phone; work phone; fax phone; email; company;
# If class is "group", the line contents the following :
# class; group name; group members
#---------------------------------------------------------------------

# $Log: GetCards.pl,v $
# Revision 1.1  1998/08/28 15:55:49  kalli
# Initial revision
#


sub GetCards {
    
    if ($CardsAreActual ne "true") {

        select((select(STDOUT), $|=1)[$[]);

        # start counter
        $PersonAddressesCounter = 0;
        $CompanyAddressesCounter = 0;
        $EmailGroupsCounter = 0;
        $Cardn = 0;

        # save old Newtonlink cards file
        if (-e "$NLCardsFile") {
	    rename ("$NLCardsFile", "$NLCardsFile.bak");
        }

        # Open file
        open (CARDSFILE, ">> $NLCardsFile")  || die "Can't open File : $!\n";

        printf "\nScanning for person and company cards ...\n";

        # send commands to Sloup
        &send_line (COMNEWTON, "Sloup");
        &send_line (COMNEWTON, "{}");
        &send_line (COMNEWTON, "Names");
        &send_line (COMNEWTON, '{class: "string", name: {last: "string", first: "string", honorific: "string"},' .
                               'address: "string", country: "string", postal_code: "string", city: "string", bday: "date",' .
                               'phones: ["homePhone", "workPhone", "faxPhone"],' .
                               'email: "string", company: "string"}');
        &send_line (COMNEWTON, "DUMP!");

        while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	    # replace german Umlaute
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	    # split into
	    ($Cardclass, $CardlastName, $CardfirstName, $Cardhonorific, $Cardaddress, $Cardcountry, $Cardpostal_code, $Cardcity,
	     $Cardbday, $CardhomePhone, $CardworkPhone, $CardfaxPhone, $Cardemail, $Cardcompany) = split(/\t/, $_, 20);

	    if (defined ($Cardclass) && (($Cardclass eq "person") || ($Cardclass eq "owner"))) {

	        # Print to STDOUT
	        print "#";
	        $PersonAddressCounter++;
	        # save to memory
	        $CardsArr[$Cardn++] = "$Cardclass;$CardlastName;$CardfirstName;$Cardhonorific;$Cardaddress;$Cardcountry;$Cardpostal_code;$Cardcity;$Cardbday;$CardhomePhone;$CardworkPhone;$CardfaxPhone;$Cardemail;$Cardcompany;";

	    } elsif (defined ($Cardclass) && ($Cardclass eq "company")) {

	        # Print to STDOUT
	        print "#";
	        $CompanyAddressCounter++;
	        # save to memory
	        $CardsArr[$Cardn++] = "$Cardclass;$Cardcompany;;;$Cardaddress;$Cardcountry;$Cardpostal_code;$Cardcity;;;$CardhomePhone;$CardfaxPhone;$Cardemail;;";

	    }
        }

        printf "\nNow scanning for email groups ...\n";
    
        # reopen Newton connection for IRIX !
        if ($SystemType eq "IRIX") {
            close COMNEWTON;
            open (COMNEWTON, "+>$tty");
            &SetSlurpeeBaudrate;
            printf (COMNEWTON "\n");
        }
    
        # send commands to Sloup : Send Email groups
        &send_line (COMNEWTON, "\nNames");
        &send_line (COMNEWTON, '{class: \'symbol, group: "string", members: [{email: "string"}]}');
        &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \";\"}");

        while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

   	    if ($_ ne "\n") {

	        # split into
	        @Arre = split(/;/, $_);

	        # if group entry
	        if ($Arre[0] eq "group") {

		    # Print to STDOUT
		    print "#";
	            $EmailGroupsCounter++;
	            # save to memory
	            $CardsArr[$Cardn++] = $_;
                }
            }
        }

        # print to stdout
        print ("\n$PersonAddressCounter person addresses transfered\n");
        print ("$CompanyAddressCounter company addresses transfered\n");
        print ("$EmailGroupsCounter email groups transfered\n");

        # write cards file
        for ($Cardi = 0; $Cardi < $Cardn; $Cardi++) {
   	    printf CARDSFILE "$CardsArr[$Cardi]\n";
        }

        # close file
        close (CARDSFILE);

        # mark cards file as actual
        $CardsAreActual = "true";
    }
}

1;
newtonlink-1.29/GetFaxOutbox.pl100444  21003   1604       10776  6574464401  15465 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetFaxOutbox
#---------------------------------------------------------------------

# $Log: GetFaxOutbox.pl,v $
# Revision 1.8  1998/03/22 19:57:33  kalli
# Preview, Send nach Configfile
#
# Revision 1.7  1998/03/16 20:06:39  kalli
# Erste lauffaehige Version
#
# Revision 1.6  1998/03/07 17:57:47  kalli
# *** empty log message ***
#
# Revision 1.5  1997/09/28 09:57:35  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.4  1997/03/27 19:38:46  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:09:27  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 16:59:12  kalli
# GPL dazu ;-)
#
# Revision 1.1  1996/11/24 19:55:02  kalli
# Initial revision
#

sub GetFaxOutbox {

    # start counter
    $FaxCounter = 0;
    # set marker
    $FaxOn = "off";
    
    # send commands to Sloup
    &send_line (COMNEWTON, "\nOutbox\n");
    &send_line (COMNEWTON, '{state: "string", category: "string", fromTitle: "string", fromName: "string", toFullAddress: "string",' . 
                           'timestamp: "date", phoneNumber: "string", body: {title: "string", data: [{text: "string"}]}}');
    &send_line (COMNEWTON, "\nDUMP!\n");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
        s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	# split into 
	($FXstate, $FXcategory, $FXconcern, $FXfromName, $FXtoName, $FXtimestamp, $FXphoneNumber, $FXbodytitle, $FXdata) = split(/\t/, $_, 10);

	# if new outbox entry
	if (defined ($FXstate) && ($FXstate eq "ready")) {

	    if (defined ($FXcategory) && ($FXcategory eq "faxsend:newton")) {

		# set marker
		$FaxOn = "on";

                # Open file
                open  (FXFILE, "> $FaxFile.$FaxCounter")  || die "Can't open File : $!\n";
		
		# print to file
		#printf FXFILE "Fax by Newtonlink (http://privat.swol.de/ReinholSchoeb/Newton/newtonlink-doc-en.html\n";
		#printf FXFILE "------------------------------------------------------------------------------------\n\n";
                printf FXFILE "\n\n";
		printf FXFILE "Concern : $FXconcern\n";
		printf FXFILE "Title   : $FXbodytitle\n";
		printf FXFILE "Time    : $FXtimestamp\n\n";
		printf FXFILE "From $FXfromName\n\n";
		printf FXFILE "To :\n\n";
		printf FXFILE "$FXtoName";
		printf FXFILE "Fax : $FXphoneNumber\n\n";
                printf FXFILE "--------\n\n\n\n";
		printf FXFILE "$FXdata\n";

                # save fax number
		$FaxNumber[$FaxCounter] = $FXphoneNumber;
				
		# Print sign to stdout
		print "#";
		$FaxCounter++;

	    } else {
		# reset marker
		$FaxOn = "off";
	    }
	
	# if not new outbox entry
	} elsif ($FaxOn eq "on") {
	    print FXFILE "$_\n";
	}
    }
    
    # print to stdout
    print ("\n$FaxCounter fax(es) transfered\n");

    close FXFILE;

    if ($FaxCounter > 0) {    

        for ($nFax = 0; $nFax < $FaxCounter; $nFax++) {
	
	    # make fax file
	    if ($FaxMakeCommand ne "") {
                print "\nMaking fax $FaxFile.$nFax ($FaxNumber[$nFax])\n";
                system "$FaxMakeCommand $FaxFile.$nFax $FaxNumber";
	    }
	    
	    # Start previewer
	    if ($FaxPreviewCommand ne "") {
	        printf "Starting previewer\n";
                system "$FaxPreviewCommand $FaxFile.$nFax";
	    }
	    
	    # send fax
	    if ($FaxSendCommand ne "") {
                print "\nSending fax #$nFax ($FaxNumber[$nFax])\n";
                system "$FaxSendCommand $FaxFile.$nFax $FaxNumber";
            }
        }
    }
}

1;
newtonlink-1.29/GetMeetings4Plan.pl100444  21003   1604       36534  6574464401  16220 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetMeetings4Plan
#---------------------------------------------------------------------

# $Log: GetMeetings4Plan.pl,v $
# Revision 1.20  1998/03/07 16:35:10  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.18  1998/01/11 16:46:50  kalli
# Erweiterungen von Gerald Hofer :
# Ersetzung der Umlaute bei IRIX
# Private Planfile
#
# Revision 1.16  1997/11/18 19:07:24  kalli
# Debugkommentare raus
#
# Revision 1.15  1997/11/15 20:17:26  kalli
# Bugfix : Repeat Meetings waren um einen Tag nach hinten verschoben.
#
# Revision 1.14  1997/11/15 19:18:18  kalli
# Convdate ersetzt durch Perl-Lib
#
# Revision 1.13  1997/09/05 20:01:42  kalli
# dos2unix darueber
#
# Revision 1.12  1997/09/05 19:38:23  kalli
# Erweiterungen von Andrew :
# Globale Optionen in .dayplan werden nicht ueberschrieben
#
# Revision 1.11  1997/05/31 09:49:12  kalli
# Unterscheidung limited/unlimited repeat meetings
#
# Revision 1.10  1997/05/28 19:25:35  kalli
# Aenderungen von Gerald Hofer fuer IRIX,
# Bugfixes
#
# Revision 1.8  1997/04/12 21:05:00  kalli
# Bugfixes :
# \n vor jedem Sloup-Kommando
# Repeat Meetings waren um einen Tag nach vorne verschoben
#
# Revision 1.7  1997/04/08 18:27:17  kalli
# Variables Datumsformat eingefuehrt : Andrew
# Bugfixes
#
# Revision 1.6  1997/03/27 19:39:46  kalli
# Andrew dazu
#
# Revision 1.5  1997/02/23 15:10:34  kalli
# Frank dazu
#
# Revision 1.4  1997/02/22 17:00:20  kalli
# GPL dazu
#
# Revision 1.3  1996/12/14 14:43:12  kalli
# Neu mit calendar notes, taeglich wiederholdende Termine
#
# Revision 1.2  1996/11/26 21:14:01  kalli
# Erste Version mit wiederholten Terminen
#
# Revision 1.1  1996/11/24 19:24:37  kalli
# Initial revision
#

use Date::Parse;
use Date::Format;

sub GetMeetings4Plan {

    select((select(STDOUT), $|=1)[$[]);
    
    if ( $Private ne "P" ) {
	$Private = "-";
    }

    # start counter
    $MeetingCounter = 0;
    $RepMeetingCounter = 0;
    $RepNotesCounter = 0;
    $CalendarNotesCounter = 0;

    # save old plan file
    if (-e "$PlanFile") {
	rename ("$PlanFile", "$PlanFile.bak");
    }

    # Open new plan file
    open (PLFILE, ">> $PlanFile")  || die "Can't open File : $!\n";

    # first save the header information from an old planfile
    if (-e "$PlanFile.bak"){
	open (PLOLD, "$PlanFile.bak");
        while(<PLOLD>){
	    if (/^[aelmoOpPtuUy]/){
	        print PLFILE;
	    }
	}
    }

    # send commands to Sloup
    &send_line (COMNEWTON, "\nCalendar");
    &send_line (COMNEWTON, '{class: "string", mtgText: "string", mtgStartDate: "dateTime", mtgDuration: "time"}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace german Umlaute
	if ($SystemType eq "IRIX") {	
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}
	else {
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}
	# split into
	($PLclass, $PLmtgText, $PLmtgStartDate, $PLmtgDuration) = split(/\t/, $_, 20);
	# remove all carrige return from meeting text
	# $PLmtgText =~ s/\n/ /g;
	# $PLmtgText =~s/\r/ /g;
	# split date/time
	($PLmtgStartDateGer, $PLmtgStartTime) = split(/ /, $PLmtgStartDate, 10);
	# transfer different dateformates to US date
	if ($DateFormat eq "German"){
		($PLday, $PLmonth, $PLyear) = split(/\./, $PLmtgStartDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($PLday, $PLmonth, $PLyear) = split(/\//, $PLmtgStartDateGer, 10);
        } elsif ($DateFormat eq "US"){
		($PLmonth, $PLday, $PLyear) = split(/\//, $PLmtgStartDateGer, 10);
	} else {
		die "Date format not recognised";
	}
	# transfer time in minutes to hours
	$PLmtgDurationhours = int ($PLmtgDuration / 60);
	$PLmtgDurationminutes = $PLmtgDuration % 60;

	if (defined ($PLclass) && ($PLclass eq "meeting")) {

	    # Print to STDOUT
	    print "#";
	    $MeetingCounter++;
	    print PLFILE "$PLmonth/$PLday/$PLyear  $PLmtgStartTime:0  $PLmtgDurationhours:$PLmtgDurationminutes:0  0:45:0  0:5:0 -$Private-------- 0\n";
	    # write to file : Meeting text
	    print PLFILE "N\t$PLmtgText\n";

	}
    }

    # Print to STDOUT
    print "\nNow scanning for repeat meetings ...\n";

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }


    # send commands to Sloup
    &send_line (COMNEWTON, "\nRepeat Meetings");
    &send_line (COMNEWTON, '{class: "string", mtgText: "string", mtgStartDate: "dateTime", mtgStopDate: "dateTime",' .
                           'mtgDuration: "time", mtgAlarm: "time", repeatType: "integer"}');
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace german Umlaute
	if ($SystemType eq "IRIX") {	
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}
	else {
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}

	# split into
	($PLRclass, $PLRmtgText, $PLRmtgStartDate, $PLRmtgStopDate, $PLRmtgDuration,
         $PLRmtgAlarm, $PLRmtgRepeatType) = split(/\t/, $_, 20);
	# remove \n from $PLRmtgText
	$PLRmtgText =~ s/\n/\t/g;
	# split date/time
	($PLRmtgStartDateGer, $PLRmtgStartTime) = split(/ /, $PLRmtgStartDate, 10);
	# transfer different dateformates to US date
	if ($DateFormat eq "German") {
		($PLRday, $PLRmonth, $PLRyear) = split(/\./, $PLRmtgStartDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($PLRday, $PLRmonth, $PLRyear) = split(/\//, $PLRmtgStartDateGer, 10);
	} elsif ($DateFormat eq "US") {
		($PLRmonth, $PLRday, $PLRyear) = split(/\//, $PLRmtgStartDateGer, 10);
	} else {
		die "Dateformat not recognised";
	}
        #Plan begins year counting with 1970
        if ($PLRyear < 1970) {
                $PLRyear = 1970
        }
	# split date/time
	($PLRmtgStopDateGer, $PLRmtgStopTime) = split(/ /, $PLRmtgStopDate, 10);
	# transfer different dateformates to US date
	if ($DateFormat eq "German"){
		($PLRStopday, $PLRStopmonth, $PLRStopyear) = split(/\./, $PLRmtgStopDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($PLRStopday, $PLRStopmonth, $PLRStopyear) = split(/\//, $PLRmtgStopDateGer, 10);
	} elsif ($DateFormat eq "US"){
		($PLRStopmonth, $PLRStopday, $PLRStopyear) = split(/\//, $PLRmtgStopDateGer, 10);
	} else {
		die "Dateformat not recognised";
	}

	# transfer time in minutes to hours
	$PLRmtgDurationhours = int ($PLRmtgDuration / 60);
	$PLRmtgDurationminutes = $PLRmtgDuration % 60;
	$PLRmtgAlarmhours = int ($PLRmtgAlarm / 60);
	$PLRmtgAlarmminutes = $PLRmtgAlarm % 60;

	if (defined ($PLRclass) && ($PLRclass eq "meeting")) {

	    # Print to STDOUT
	    print "#";
	    $RepMeetingCounter++;

	    # if repeat every week
	    if ($NTRmtgRepeatType == 0) {

		# write to file 
		print PLFILE "$PLRmonth/$PLRday/$PLRyear  $PLRmtgStartTime:0  $PLRmtgDurationhours:$PLRmtgDurationminutes:0  0:0:0  $PLRmtgAlarmhours:$PLRmtgAlarmminutes:0 -$Private-------- 0\n";
		# get weekday
		#printf ("\nRepeat every week : $PLRyear/$PLRmonth/$PLRday");
		$PLRtowa = Date::Parse::str2time ("$PLRyear/$PLRmonth/$PLRday");
		$PLRtow = Date::Format::time2str ("%a", $PLRtowa);
		#printf ("Tag : $PLRtow");

		# check for unlimited repeat meeting 
		if ( ($PLRStopday eq "29") && ($PLRStopmonth eq "9") &&
                     ($PLRStopyear eq "") && ($PLRmtgStopTime eq "0:31") ) {

		    # write to file : Unlimited repeat
		    print PLFILE "R\t 0 0 1 0 0\n"  if ($PLRtow eq "Sun");
		    print PLFILE "R\t 0 0 2 0 0\n"  if ($PLRtow eq "Mon");
		    print PLFILE "R\t 0 0 4 0 0\n"  if ($PLRtow eq "Tue");
		    print PLFILE "R\t 0 0 8 0 0\n"  if ($PLRtow eq "Wed");
		    print PLFILE "R\t 0 0 16 0 0\n" if ($PLRtow eq "Thu");
		    print PLFILE "R\t 0 0 32 0 0\n" if ($PLRtow eq "Fri");
		    print PLFILE "R\t 0 0 64 0 0\n" if ($PLRtow eq "Sat");

		} else {

		    # get time since 1/1/70 0:0:0
		    $CC = "$PLRStopmonth/$PLRStopday/$PLRStopyear $PLRmtgStopTime\n";
		    $NTRRtowa = Date::Parse::str2time($CC);
		    #$NTRRtowa = $NTRRtowa+1 - 82740;
		    $NTRRtowa = $NTRRtowa+1;
		    # write to file : Repeat with limit
		    print PLFILE "R\t 0 $NTRRtowa 1 0 0\n"  if ($PLRtow eq "Sun");
		    print PLFILE "R\t 0 $NTRRtowa 2 0 0\n"  if ($PLRtow eq "Mon");
		    print PLFILE "R\t 0 $NTRRtowa 4 0 0\n"  if ($PLRtow eq "Tue");
		    print PLFILE "R\t 0 $NTRRtowa 8 0 0\n"  if ($PLRtow eq "Wed");
		    print PLFILE "R\t 0 $NTRRtowa 16 0 0\n" if ($PLRtow eq "Thu");
		    print PLFILE "R\t 0 $NTRRtowa 32 0 0\n" if ($PLRtow eq "Fri");
		    print PLFILE "R\t 0 $NTRRtowa 64 0 0\n" if ($PLRtow eq "Sat");

	        }

	    } else {
		# write to file : Repeat
		print PLFILE "R\t 0 0 0 0 0\n";
	    }

	    # write to file : Meeting text
	    print PLFILE "N\t$PLRmtgText\n";

	}
    }

    # Print to STDOUT
    print "\nNow scanning for repeat notes ...\n";

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }

    # send commands to Sloup
    &send_line (COMNEWTON, "\nRepeat Notes");
    &send_line (COMNEWTON, '{class: "string", mtgText: "string", mtgStartDate: "dateTime", mtgStopDate: "dateTime", ' .
                           'mtgDuration: "time", mtgAlarm: "time", repeatType: "integer"}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace german Umlaute
	if ($SystemType eq "IRIX") {	
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}
	else {
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}

	# split into
	($NTRclass, $NTRmtgText, $NTRmtgStartDate, $NTRmtgStopDate, $NTRmtgDuration, 
         $NTRmtgAlarm, $NTRmtgRepeatType) = split(/\t/, $_, 20);
	# remove \n from $NTRmtgText
	$NTRmtgText =~ s/\n/\t/g;
	# split date/time
	($NTRmtgStartDateGer, $NTRmtgStartTime) = split(/ /, $NTRmtgStartDate, 10);
	# transfer German date to US date
	if ($DateFormat eq "German"){
		($NTRday, $NTRmonth, $NTRyear) = split(/\./, $NTRmtgStartDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($NTRday, $NTRmonth, $NTRyear) = split(/\//, $NTRmtgStartDateGer, 10);
	} elsif ($DateFormat eq "US"){
		($NTRmonth, $NTRday, $NTRyear) = split(/\//, $NTRmtgStartDateGer, 10);
	} else {
		die "Dateformat not recognised";
	}
	#Plan begins year counting with 1970
	if ($NTRyear < 1970) {
		$NTRyear = 1970
	}
	# split date/time
	($NTRmtgStopDateGer, $NTRmtgStopTime) = split(/ /, $NTRmtgStopDate, 10);
	# transfer different dateformates to US date
	if ($DateFormat eq "German"){
		($NTRStopday, $NTRStopmonth, $NTRStopyear) = split(/\./, $NTRmtgStopDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($NTRStopday, $NTRStopmonth, $NTRStopyear) = split(/\//, $NTRmtgStopDateGer, 10);
	} elsif ($DateFormat eq "US"){
		($NTRStopmonth, $NTRStopday, $NTRStopyear) = split(/\//, $NTRmtgStopDateGer, 10);
	} else {
		die "Dateformat not recognised";
	}
	# transfer time in minutes to hours
	$NTRmtgDurationhours = int ($NTRmtgDuration / 60);
	$NTRmtgDurationminutes = $NTRmtgDuration % 60;
	$NTRmtgAlarmhours = int ($NTRmtgAlarm / 60);
	$NTRmtgAlarmminutes = $NTRmtgAlarm % 60;

	if (defined ($NTRclass) && ($NTRclass eq "meeting")) {

	    # Print to STDOUT
	    print "#";
	    $RepNotesCounter++;

	    # if repeat every year
	    if ($NTRmtgRepeatType == 3) {
		# write to file : date / time of day / duration / late warning / early warning
		print PLFILE "$NTRmonth/$NTRday/$NTRyear  99:99:99  $NTRmtgDurationhours:$NTRmtgDurationminutes:0  0:0:0  0:0:0 -$Private-------- 0\n";
		# write to file : Repeat
		print PLFILE "R\t0 0 0 0 1\n";

	    # if repeat every day
	    } elsif ($NTRmtgRepeatType == 0) {
		# write to file : date / time of day / duration / late warning / early warning
		print PLFILE "$NTRmonth/$NTRday/$NTRyear  99:99:99  0:0:0  0:0:0  0:0:0 -$Private-------- 0\n";
		# get time since 1/1/70 0:0:0
		$CC = "$NTRStopmonth/$NTRStopday/$NTRStopyear $NTRmtgStopTime\n";
		#$NTRRtowa = `$ConvdateCommand -n '$CC'`;
		$NTRRtowa = Date::Parse::str2time($CC);
		$NTRRtowa = $NTRRtowa+1 - 82740;
		# write to file : Repeat
		print PLFILE "R\t86400 $NTRRtowa 0 0 0\n";

	    } else {
		# write to file : Repeat
		#print PLFILE "R\t 0 0 0 0 0\n";
	    }

	    # write to file : Meeting text
	    print PLFILE "N\t$NTRmtgText\n";

	}
    }

    # Print to STDOUT
    print "\nNow scanning for calendar notes ...\n";

    if ($SystemType eq "IRIX") {
        close COMNEWTON;
        open (COMNEWTON, "+>$tty");
        &SetSloupBaudrate;
        printf (COMNEWTON "\n");
    }


    # send commands to Sloup
    &send_line (COMNEWTON, "\nCalendar Notes");
    &send_line (COMNEWTON, '{class: "string", mtgText: "string", mtgStartDate: "dateTime"}'); 
    &send_line (COMNEWTON, "DUMP!{fieldDelimiter: \"\t\"}");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace german Umlaute
	if ($SystemType eq "IRIX") {	
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}
	else {
	    s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	}

	# split into
	($CNclass, $CNmtgText, $CNmtgStartDate) = split(/\t/, $_, 20);
	# remove \n from $CNmtgText
	$CNmtgText =~ s/\n/\t/g;
	# split date/time
	($CNmtgStartDateGer, $CNmtgStartTime) = split(/ /, $CNmtgStartDate, 10);
	# transfer different dateformates to US date
	if ($DateFormat eq "German"){
		($CNday, $CNmonth, $CNyear) = split(/\./, $CNmtgStartDateGer, 10);
	} elsif ($DateFormat eq "British"){
		($CNday, $CNmonth, $CNyear) = split(/\//, $CNmtgStartDateGer, 10);
	} elsif ($DateFormat eq "US"){
		($CNmonth, $CNday, $CNyear) = split(/\//, $CNmtgStartDateGer, 10);
	} else {
		die "Dateformat not recoginsed";
	}
        #Plan begins year counting with 1970
        if ($CNyear < 1970) {
                $CNyear = 1970
        }
	if (defined ($CNclass) && ($CNclass eq "meeting")) {

	    # Print to STDOUT
	    print "#";
	    $CalendarNotesCounter++;
	    print PLFILE "$CNmonth/$CNday/$CNyear  99:99:99  0:0:0  0:0:0  0:0:0 -$Private-------- 0\n";
	    # write to file : Meeting text
	    print PLFILE "N\t$CNmtgText\n";

	}
    }

    # close file
    close (PLFILE);

    # print to stdout
    print ("\n$MeetingCounter meetings transfered");
    print ("\n$RepMeetingCounter repeat meetings transfered");
    print ("\n$RepNotesCounter repeat notes transfered");
    print ("\n$CalendarNotesCounter calendar notes transfered");

}

1;
newtonlink-1.29/GetNotes.pl100444  21003   1604       23031  6574464401  14622 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetNotes
#---------------------------------------------------------------------

# $Log: GetNotes.pl,v $
# Revision 1.2  1998/09/02 13:56:36  kalli
# *** empty log message ***
#
# Revision 1.1  1998/09/01 14:53:34  kalli
# Initial revision
#

sub GetNotes {
    
    if ($NotesAreActual ne "true") {

        select((select(STDOUT), $|=1)[$[]);

        # start counter
        $KjNotesCounter = 0;
        $KjPaperCounter = 0;
        $KjListCounter  = 0;
        $KjCheckCounter = 0;

        $NewEntry       = 1;

        $Underline = "-----------------------------------------------------------";

        # temporarily save Folder name
        $FolderName     = "";

        # save old Notes file
        if (-e "$NLNotesFile") {
	    rename ("$NLNotesFile", "$NLNotesFile.bak");
        }

        # Open new Notes file
        open (NOTESFILE, ">> $NLNotesFile")  || die "Can't open File : $NLNotesFile\n";

        # submit Notes separated as paperroll, list, checkList
        # first line is Folder name,
        # second line is title of note

        print ("\nScanning for paperroll entries ...\n");

        # send commands to Sloup
        &send_line (COMNEWTON, "\nNotes");
        &send_line (COMNEWTON, '{class: \'paperroll,labels: \'_all,title: \'String}'); 
        &send_line (COMNEWTON, "DUMP!");

        while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	    if ($_ ne "") {

	        # replace german Umlaute
	        s/\232//g; s/\212//g;
	        s/\237//g;s/\247//g;s/\205//g;s/\200//g; s/\206//g;
	        s/\\u00F6\\u//g;
                s// /g;

	        # Print sign to STDOUT
	        print "#";
	        $KjNotesCounter++;
                $KjPaperCounter++;

                if ($_ ne "-----") {

 	            # write to Notes file
 	            if (($NewEntry == 1) || ($NewEntry == 2)) {

                        if ($NewEntry == 1) {

                            $FolderName = $_;
                            chomp $FolderName;
                            $NewEntry = 2;

                        } else {

                            if ($NewEntry == 2) {
   	                        printf( NOTESFILE "\\NewEntry ");
                                printf( NOTESFILE $FolderName);
                                printf( NOTESFILE " / ");
	                        print NOTESFILE "$_\n";

                                # Make a Header
	                        print NOTESFILE "$_\n";
                                $LenOfTitle = length $_ ;
                                #if ($LenOfTitle > 0) {
                                #    $LenOfTitle--;
                                #}
                                $Underl = substr $Underline,0,$LenOfTitle;
                                printf (NOTESFILE $Underl);
                                printf (NOTESFILE "\n\n");
                                $NewEntry = 0;
                            }
 	                }
                    } else {

	                print NOTESFILE "$_\n";
                        $NewEntry = 0;
                    }

                } else {
                    $NewEntry = 1;
                }
	    }
        }

        # print to stdout
        print ("\n$KjPaperCounter lines of paperroll notes transfered");
        print ("\nNow scanning for list entries ...\n");

        # submit list entries

        # send commands to Sloup
        &send_line (COMNEWTON, "\nNotes");
        &send_line (COMNEWTON, '{class: \'list,labels: \'_all,title: \'String}'); 
        &send_line (COMNEWTON, "DUMP!");

        while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	    if ($_ ne "") {

	        # replace german Umlaute
	        s/\232//g; s/\212//g;
	        s/\237//g;s/\247//g;s/\205//g;s/\200//g; s/\206//g;
	        s/\\u00F6\\u//g; 
                s// /g;

	        # Print sign to STDOUT
	        print "#";
	        $KjNotesCounter++;
                $KjListCounter++;

                if ($_ ne "-----") {

 	           # write to Notes file
 	           if (($NewEntry == 1) || ($NewEntry == 2)) {
                       if ($NewEntry == 1) {

                            $FolderName = $_;
                            chomp $FolderName;
                            $NewEntry = 2;

                        } else {

                            if ($NewEntry == 2) {
   	                        printf( NOTESFILE "\\NewEntry ");
                                printf( NOTESFILE $FolderName);
                                printf( NOTESFILE " / ");
	                        print NOTESFILE "$_\n";

                                # Make a Header
	                        print NOTESFILE "$_\n";
                                $LenOfTitle = length $_ ;
                                #if ($LenOfTitle > 0) {
                                #    $LenOfTitle--;
                                #}
                                $Underl = substr $Underline,0,$LenOfTitle;
                                printf (NOTESFILE $Underl);
                                printf (NOTESFILE "\n\n");
                                $NewEntry = 0;
                            }
 	                }
                    } else {

	                print NOTESFILE "$_\n";
                        $NewEntry = 0;
                    }

                } else {
                    $NewEntry = 1;           
                }
	    }
        }

        # print to stdout
        print ("\n$KjListCounter lines of list notes transfered");
        print ("\nNow scanning for checklist entries ...\n");

        # submit checkList entries

        # send commands to Sloup
        &send_line (COMNEWTON, "\nNotes");
        &send_line (COMNEWTON, '{class: \'checkList,labels: \'_all,title: \'String}'); 
        &send_line (COMNEWTON, "DUMP!");

        while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	    if ($_ ne "") {

	        # replace german Umlaute
	        s/\232//g; s/\212//g;
	        s/\237//g;s/\247//g;s/\205//g;s/\200//g; s/\206//g;
	        s/\\u00F6\\u//g; 
                s// /g;

	        # Print sign to STDOUT
	        print "#";
	        $KjNotesCounter++;
                $KjCheckCounter++;

                if ($_ ne "-----") {

 	            # write to Notes file
 	            if (($NewEntry == 1) || ($NewEntry == 2)) {
                        if ($NewEntry == 1) {

                            $FolderName = $_;
                            chomp $FolderName;
                            $NewEntry = 2;

                        } else {

                            if ($NewEntry == 2) {
   	                        printf( NOTESFILE "\\NewEntry ");
                                printf( NOTESFILE $FolderName);
                                printf( NOTESFILE " / ");
	                        print NOTESFILE "$_\n";

                                # Make a Header
	                        print NOTESFILE "$_\n";
                                $LenOfTitle = length $_ ;
                                #if ($LenOfTitle > 0) {
                                #    $LenOfTitle--;
                                #}
                                $Underl = substr $Underline,0,$LenOfTitle;
                                printf (NOTESFILE $Underl);
                                printf (NOTESFILE "\n\n");
                                $NewEntry = 0;
                            }
 	                }
                    } else {

	                print NOTESFILE "$_\n";
                        $NewEntry = 0;
                    }

                } else {
                    $NewEntry = 1;
                }
	    }
        }

        # print to stdout
        print ("\n$KjCheckCounter lines of checklist notes transfered");
        print ("\n$KjNotesCounter lines of notes totally transfered");

        # close file
        close (NOTESFILE);

        # now read NOTESFILE, sort and output
        print ("\nNotes file will now be sorted ...\n");

        # Open new Notes file
        $KString = "";
        open (NOTESFILE, "$NLNotesFile")  || die "Can't open File : $NLNotesFile\n";

        while ($i = <NOTESFILE>) {
            $KString = $KString.$i;
        }
        close (NOTESFILE);

        @KList = split ("\NewEntry", $KString);
        @KList = sort (@KList);
        $KString = join ("\NewEntry", @KList);
        open (NOTESFILE, "> $NLNotesFile")  || die "Can't open File : $NLNotesFile\n";        
    
        printf (NOTESFILE "\\NewEntry");
        printf (NOTESFILE $KString);
    
        close (NOTESFILE);

        # mark notes file as actual
        $NotesAreActual = "true";

    }
}

1;



newtonlink-1.29/GetPackage.pl100444  21003   1604        5372  6574464401  15055 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetPackage
#---------------------------------------------------------------------

# $Log: GetPackage.pl,v $
# Revision 1.6  1998/03/06 23:37:18  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.5  1997/12/06 17:22:49  kalli
# Umstellung auf Sloup
#
# Revision 1.4  1997/09/28 10:00:34  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.3  1997/03/27 19:41:31  kalli
# Andrew dazu
#
# Revision 1.2  1997/03/06 18:51:31  kalli
# Erste Version lauffaehig
#
# Revision 1.1  1997/03/04 21:04:33  kalli
# Initial revision
#

sub GetPackage {

    select((select(STDOUT), $|=1)[$[]);
    
    # open Newton package file
    open (PSFILE, "> $PackageFileName")  || die "Can't open File : $!\n";
    binmode PSFILE;
    # set marker
    $FirstLine = 0;

    # send commands to Sloup
    &send_line (COMNEWTON, "\nPackage");
    &send_line (COMNEWTON, "{packageName: \"$PackageName\", packageEntry: \"binary:packageEntry\"}"); 
    &send_line (COMNEWTON, "DUMP!");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# dont write first line
	if ($FirstLine == 0) {
	  $FirstLine++;
	  
	} else {

	  # Print sign to STDOUT
	  print "#";

	  # replace last "\\n in line"
	  s/\n//g; s/\\//g;

	  # calculate # of chars in line
	  $Ccount = length ($_);
	  #printf ("No of chars : $Ccount\n");

	  # split into separate chars
	  @a = split (/ */, $_);
	  # put every two chars together
	  for ($hi = 0; $hi < $Ccount; $hi++) {
	    $b[$hi]  = $a[$hi*2].$a[($hi*2)+1];
	  }

	  # write binary chars to Newton package file
	  for ($hi = 0; $hi < $Ccount/2; $hi++) {
	    printf (PSFILE "%c", hex ($b[$hi]));
	  }
	}
    }

    # close file
    close (PSFILE);
}

1;

newtonlink-1.29/GetPackageNames.pl100444  21003   1604        5732  6574464401  16041 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetPackageNames
#---------------------------------------------------------------------

# $Log: GetPackageNames.pl,v $
# Revision 1.8  1998/09/02 13:56:51  kalli
# *** empty log message ***
#
# Revision 1.7  1998/03/24 20:30:28  kalli
# Umstellung auf format-Anweisung
#
# Revision 1.6  1998/03/16 14:58:05  kalli
# Umstellung auf neue ser. Treiber mit Timeout.
#
# Revision 1.5  1998/03/06 23:13:17  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.4  1997/12/06 17:23:46  kalli
# Umstellung auf Sloup
#
# Revision 1.3  1997/09/28 10:02:15  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.2  1997/03/27 19:42:23  kalli
# Andrew dazu
#
# Revision 1.1  1997/03/04 21:05:33  kalli
# Initial revision
#

format STDOUT = 
@<<<<<<<<<<<<<<<<<<<<<<<<  @<<<<<<<<<<<<<<<<<<<<<<<<  @<<<<<<<<<<<<<<<<<<<<<<<<
$PackageNames[$niP]        $PackageNames[$niP+1]      $PackageNames[$niP+2]
.

sub GetPackageNames {

    select((select(STDOUT), $|=1)[$[]);

    # save old Newtonlink package names file
    if (-e "$NLPackageNamesFile") {
	rename ("$NLPackageNamesFile", "$NLPackageNamesFile.bak");
    }

    # Open file
    open (PACKAGENAMESFILE, ">> $NLPackageNamesFile")  || die "Can't open File : $!\n";

    printf "\nScanning for installed packages ...\n";

    # start counter
    $PackageCounter = 0;

    # send commands to Sloup
    &send_line (COMNEWTON, "\nPackage");
    &send_line (COMNEWTON, "{}"); 
    &send_line (COMNEWTON, "DUMP!");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

         $PackageNames[$PackageCounter] = $_;
         printf PACKAGENAMESFILE "$PackageNames[$PackageCounter]\n";
	 $PackageCounter++;
	 print "#";
    }

    # print result to stdout
    print ("\n$PackageCounter package names transfered : \n");
    for ($niP = 0; $niP < $PackageCounter; $niP += 3) {
        write STDOUT;
    }

    # close file
    close (PACKAGENAMESFILE);

}


1;
newtonlink-1.29/GetPrintOutbox.pl100444  21003   1604        7611  6574464401  16015 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetPrintOutbox
#---------------------------------------------------------------------

# $Log: GetPrintOutbox.pl,v $
# Revision 1.8  1998/03/22 19:46:35  kalli
# Previewer lt. Confogfile
#
# Revision 1.7  1998/03/07 13:08:19  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.6  1997/12/06 17:25:48  kalli
# Umstellung auf Sloup
#
# Revision 1.5  1997/09/28 10:03:37  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.4  1997/03/27 19:44:27  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:12:15  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 17:01:27  kalli
# GPL dazu
#
# Revision 1.1  1996/11/24 19:52:05  kalli
# Initial revision
#

sub GetPrintOutbox {

    # start counter
    $PrintCounter = 0;
    # set marker
    $PrintOn = "off";

    # save old printout file
    if (-e "$PrintFile") {
	rename ("$PrintFile", "$PrintFile.bak");
    }

    # Open file
    open  (PRFILE, ">> $PrintFile")  || die "Can't open File : $!\n";

    # send commands to Sloup
    &send_line (COMNEWTON, "\nOutbox\n");
    &send_line (COMNEWTON, '{state: "string", category: "string", title: "string", fromName: "string", toName: "string",' . 
                           'timestamp: "date", body: {title: "string", data: [{text: "string"}]}}');
    &send_line (COMNEWTON, "\nDUMP!\n");

    while (($_ = &receive_line (COMNEWTON)) ne "BYE!") {

	# replace German Umlaute
        s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	# split into 
	($PRstate, $PRcategory, $PRconcern, $PRfromName, $PRtoName, $PRtimestamp, $PRbodytitle, $PRdata) = split(/\t/, $_, 10);

	# if new outbox entry
	if (defined ($PRstate) && ($PRstate eq "ready")) {

	    if (defined ($PRcategory) && ($PRcategory eq "print:newton")) {

		# set marker
		$PrintOn = "on";
		# print to file
		printf PRFILE "Concern : $PRconcern\n";
		printf PRFILE "Title   : $PRbodytitle\n";
		printf PRFILE "From    : $PRfromName\n";
		printf PRFILE "To      : $PRtoName\n";
		printf PRFILE "Time    : $PRtimestamp\n";
		printf PRFILE "\n$PRdata\n";

		# Print sign to stdout
		print "#";
		$PrintCounter++;
	
	    } else {
		# reset marker
		$PrintOn = "off";
	    }

	# if not new outbox entry
	} elsif ($PrintOn eq "on") {
	    print PRFILE "$_\n";
	}

    }

    # close file
    close (PRFILE);

    # print to stdout
    print ("\n$PrintCounter printouts transfered to $PrintFile");
  
    if ($PrintCounter > 0) {

        if ($SystemPrintCommand ne "") {

            printf "\nCreate postscript file $PrintFile.ps\n";
            # convert print file to postscript
            system "$SystemPrintCommand $PrintFile > $PrintFile.ps";

            # start previewer
            if ($PrintPreviewCommand ne "") {
	        printf "Starting previewer\n";
	        system "$PrintPreviewCommand $PrintFile.ps &";
            }
	}
    }
}

1;
newtonlink-1.29/GetSoupInfo.pl100444  21003   1604        3301  6574464401  15252 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# GetSoupInfo
#---------------------------------------------------------------------

# $Log: GetSoupInfo.pl,v $
# Revision 1.1  1998/03/07 18:28:20  kalli
# Initial revision
#

sub GetSoupInfo {

    select((select(STDOUT), $|=1)[$[]);

    # send commands to Sloup
    &send_line (COMNEWTON, "\n$SoupName");
    &send_line (COMNEWTON, "{}"); 
    &send_line (COMNEWTON, "DUMP!");

    while (($_ = &receive_line(COMNEWTON)) ne "BYE!") {
    
	 # replace german Umlaute
	 s/\232//g; s/\212//g; s/\237//g; s/\247//g; s/\205//g; s/\200//g; s/\206//g;
	 # write to stdout
	 print "$_\n";
    }
}

1;
newtonlink-1.29/GreetUser.pl100444  21003   1604        5733  6574464401  14770 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#-----------------------------------------------------------------------
# GreetUser
#-----------------------------------------------------------------------

# $Log: GreetUser.pl,v $
# Revision 1.1  1998/09/01 13:51:38  kalli
# Initial revision
#

sub GreetUser {

    my $notConnected = 1;
    my $MAXTIMEOUTS  = 5;
    my $numTimeouts  = 0;
    my $slpVersion;
    my $FirstName;
    my $LastName;

    # Checking if sloup is open
    print "Trying to connect to your Newton...\n";

    while ($notConnected) {

        if (open (COMNEWTON, "+>$tty")) {

            printf "Newton connection opened\n";

            # set new baudrate
   	    printf "Switch baudrate to $SloupBaudrate\n";
    	    &SetSloupBaudrate;

            # It seems that IRIX needs first a CR to initialize the serial connection
            if ($SystemType eq "IRIX") { printf (COMNEWTON "\n"); }

        }

        &send_line (COMNEWTON, "\nEVAL!\"OK\"");
        $_ = &receive_line (COMNEWTON);

        if ($_ ne "OK") {

            print "Make sure that sloup is working\n";
            print "Will try again in $timeout seconds\n";
            close (COMNEWTON);
            print "Connection closed\n";
            sleep ($timeout);
            $numTimeouts++;

            if ($numTimeouts > $MAXTIMEOUTS) {
                die "Tried for $numTimeouts times. Giving up\n";
            }
        } else {
            $notConnected=0;
            print "\n";
        }
    }
		
    # ask for Sloup version
    &send_line (COMNEWTON, "\nEVAL!GetRoot().|Sloup:TknollSys|._proto.versionString");
    $slpVersion = &receive_line (COMNEWTON);

    if ($slpVersion == "Timeout reached") {
        die "Please make sure your serial connection is working\n"
    }

    # ask for Newton user name
    &send_line (COMNEWTON, "\nEVAL!getUserConfig(\'name)");
    $_= &receive_line (COMNEWTON);
    ($FirstName,$LastName) = split(/ /,$_);

    print "Hi $FirstName, you are using Sloup $slpVersion\n";
}

1;
newtonlink-1.29/InstallPackage.pl100444  21003   1604       10347  6574464401  15762 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# InstallPackage
#---------------------------------------------------------------------

# $Log: InstallPackage.pl,v $
# Revision 1.15  1998/03/16 14:58:39  kalli
# Umstellung auf ser. Teiber mit Timeout
#
# Revision 1.14  1998/03/12 20:39:48  kalli
# Unix basename Kommando durch Perl-Lib ersetzt
#
# Revision 1.13  1998/03/07 17:46:53  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.12  1997/12/06 17:11:29  kalli
# Umstellung auf Sloup
#
# Revision 1.11  1997/10/01 18:05:40  kalli
# Bugfix von Andrew : .slp-File wird richtig geloescht.
#
# Revision 1.10  1997/09/28 10:05:39  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.9  1997/07/12 16:06:07  kalli
# Aenderungen von Andrew wg. der Tk-Version
#
# Revision 1.8  1997/04/20 15:32:17  kalli
# .slp-File wird in $TempDir angelegt und nach Installation
# wieder geloescht.
#
# Revision 1.7  1997/03/27 19:45:31  kalli
# Andrew dazu
# Wait-Message beim Installieren
#
# Revision 1.6  1997/03/06 18:53:33  kalli
# erste Version lauffaehig
#
# Revision 1.5  1997/03/02 21:47:26  kalli
# Umstellung auf Install via Sloup
#
# Revision 1.4  1997/02/23 15:13:13  kalli
# Frank dazu
#
# Revision 1.3  1997/02/22 17:02:19  kalli
# GPL dazu
#
# Revision 1.2  1997/01/05 16:05:37  kalli
# Neuer Aufruf : minicom
#
# Revision 1.1  1996/11/24 19:57:38  kalli
# Initial revision
#

use File::Basename;

sub InstallPackage {

    select((select(STDOUT), $|=1)[$[]);
    $LineCounter = 0;
    $TByte = "";
    $PkgByteCounter = 0;

    # open Newton package file
    open (PKGFILE, "$PackageFile")  || die "Can't open File $PackageFile : $!\n";
    binmode PKGFILE;

    #extract file's basename
    $PackageFile =~ s/\\/\//g;
    ($tempFile) = reverse(split(/\//, $PackageFile));
    ($tempFile) = split(/\./, $tempFile);

    # open Sloup Hex file 
    $tempFile = "$TempDir\/$tempFile.slp";
    print "$tempFile\n";
    open (SLPFILE, ">$tempFile")  || die "Can't open File : $!\n";

    # print message
    print "Converting package file, please wait ...\n";

    # read byte from package file
    while (read (PKGFILE, $TByte, 1)) {

	# write to Sloup Hex file
	printf (SLPFILE "%02X", ord($TByte));

	# insert "\\n" every 36 bytes
	if ($LineCounter == 36) {
	    printf SLPFILE ("\\\n");
	    $LineCounter = 0;
	} else {
	    $LineCounter++;
	}
	
	# incr bytecounter
	$PkgByteCounter++;
    }

    # close files
    close (PKGFILE);
    close (SLPFILE);

    # print bytecounter
    print "Package size is $PkgByteCounter bytes\n";

    # open file
    open (SLPFILE, $tempFile) || printf "Can't open file : $!\n";

    # print message
    print "Installing package, please wait ...\n";

    # send commands to Sloup
    &send_line (COMNEWTON, "\nPackage");
    &send_line (COMNEWTON, "{packageName: \"string\", packageEntry: \"binary:packageEntry\"}");
    &send_line (COMNEWTON, "REPLACE!packageName");
    &send_line (COMNEWTON, "LoadPkg	!\\");

    # read lines from file
    while (<SLPFILE>) {

	# send line to Sloup
	&send_line (COMNEWTON, "$_");
	print "#";
    }

    &send_line (COMNEWTON, "BYE!");
    print("\nPackage transferred\n");
    # close file
    close (SLPFILE);
    # delete file
    unlink $tempFile;

}

1;
newtonlink-1.29/KeyboardInput.pl100444  21003   1604        3416  6574464401  15637 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# KeyboardInput
#---------------------------------------------------------------------

# $Log: KeyboardInput.pl,v $
# Revision 1.5  1998/03/07 17:09:31  kalli
# Umsetzung deutscher Umlaute
#
# Revision 1.4  1997/03/27 19:47:19  kalli
# Andrew dazu
#
# Revision 1.3  1997/02/23 15:14:06  kalli
# Frank dazu
#
# Revision 1.2  1997/02/22 17:03:21  kalli
# GPL dazu
#
# Revision 1.1  1996/11/24 19:59:54  kalli
# Initial revision
#

sub KeyboardInput {

    while (<STDIN>) {
    
	if ($_ eq "!!\n") {
	    last;
	}
	
	# replace German Umlaute
	s//\232/g; s//\212/g; s//\237/g; s//\247/g; s//\205/g; s//\200/g; s//\206/g;
	
	# send line to Sloup
	print (COMNEWTON);
    }
}

1;
newtonlink-1.29/Makefile100444  21003   1604        5511  6574464401  14160 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1997 Reinhold Schoeb (schoeba@str.daimler-benz.com)
#                         Frank Scholz (dev@artus.pf.bawue.de)
#                         Andrew Maier (Andrew.Maier@cern.ch)
#                         Gerald Hofer (hofer@icg.tu-graz.ac.at)
#
# 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.
#=======================================================================

# $Log: Makefile,v $
# Revision 1.11  1997/11/29 19:29:43  kalli
# Erweiterung fuer Multi-Platform
#

#==================== START USER EDITABLE SECTION ======================

# for Linux :
# the Perl binary
PERL_BIN = /usr/bin/perl
# the wish binary
WISH_BIN = /usr/bin/wish
# the html browser for helpdoc
BROWSER  = netscape
# Install command
INSTALL  = install
# Directory in which to install the readme files
RDM_DIR  = /usr/doc/newtonlink-1.26
# Directory in which to install the libraries
LIB_DIR  = /usr/lib/newtonlink-1.26
# Directory in which to install the documentation
DOC_DIR  = /usr/lib/newtonlink-1.26/doc
# Directory in which to install the manpage
MAN_DIR  = /usr/local/man/man1

#==================== END USER EDITABLE SECTION ========================


install:
	$(INSTALL) -m 755 -d $(RDM_DIR)
	$(INSTALL) -m 644 COPYRIGHT GNU_GPL README $(RDM_DIR)
	
	$(INSTALL) -m 755 -d $(LIB_DIR)
	$(INSTALL) -m 644 COPYRIGHT GNU_GPL README $(LIB_DIR)
	$(INSTALL) -m 755 newtonlink $(LIB_DIR)
	$(INSTALL) -m 755 tknl $(LIB_DIR)
	$(INSTALL) -m 644 *.pl $(LIB_DIR)

	$(INSTALL) -m 755 -d $(LIB_DIR)/icons
	$(INSTALL) -m 644 icons/* $(LIB_DIR)/icons

	$(INSTALL) -m 755 -d $(LIB_DIR)/doc
	$(INSTALL) -m 644 doc/*.html $(LIB_DIR)/doc
	$(INSTALL) -m 755 -d $(LIB_DIR)/doc/Images
	$(INSTALL) -m 644 doc/Images/* $(LIB_DIR)/doc/Images
	
	$(INSTALL) -m 644 newtonlink.man $(MAN_DIR)/newtonlink.1

	$(INSTALL) -m 644 newtonlink.config /etc

	ln -s $(LIB_DIR) /usr/lib/newtonlink	
	ln -s /usr/lib/newtonlink/newtonlink /usr/bin/newtonlink

remove:
	rm -rf $(RDM_DIR)
	rm -rf $(LIB_DIR)
	rm $(MAN_DIR)/newtonlink.1
	rm /etc/newtonlink.config
	rm /usr/lib/newtonlink
	rm /usr/bin/newtonlink
newtonlink-1.29/README100444  21003   1604        2255  6574464401  13402 0ustar  kallischoebNewtonlink
----------------------------------------------------------------------------

Newtonlink is a program to transfer data between an Apple Newton PDA and
Unix applications such as Xrolodex, Addressbook, Plan, Xfmail and Netscape.
You can also install and upload Newton packages to/from your Unix desktop.

We wrote this program because there was a need for it. You can get a lot
of Newton connection utilities for Micro$oft Windows and the Apple Macintosh.
So we decided to develop Newtonlink, with the main goal to get the contents
of the Newton soups via a serial link and convert this data for use with
several Linux applications which we normally use.

The program is distributed under the terms of the GNU General Public Licenses.

To install Newtonlink on an UNIX-System, run perl install.pl

To install Newtonlink on an OS/2-System, copy all files included in the 
package to the directory where you want newtonlink to be and run the 
installation with perl install_os2.pl.

Please look for more install instructions and documentation under
doc/newtonlink-doc-en.html and open it with your preferred HTML browser.

Enjoy - The Newtonlink Developer Team (newtonlink@newton.bawue.de)
newtonlink-1.29/SendFile2Newton.pl100444  21003   1604        5104  6574464401  16021 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# SendFile2Newton
#---------------------------------------------------------------------

# $Log: SendFile2Newton.pl,v $
# Revision 1.10  1998/03/24 21:19:22  kalli
# Erweiterung um Soupname
#
# Revision 1.9  1998/03/06 23:26:57  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.8  1997/12/06 17:24:50  kalli
# Umstellung auf Sloup
#
# Revision 1.7  1997/09/28 10:08:00  kalli
# Aenderung von Andrew :
# Select-Statement
#
# Revision 1.5  1997/03/27 19:48:10  kalli
# Andrew dazu
#
# Revision 1.4  1997/02/23 15:15:04  kalli
# Frank dazu
#
# Revision 1.3  1997/02/22 17:04:05  kalli
# GPL dazu
#
# Revision 1.2  1996/12/10 20:39:07  kalli
# Konvertierung deutscher Umlaute bei der Uebertragung
#
# Revision 1.1  1996/12/07 18:36:14  kalli
# Initial revision
#


sub SendFile2Newton {
    
    # open file
    open (SDFILE, "$SendFile") || printf "Can't open file : $!\n";

    # send soup header to Sloup
    if ($SendFileSoup ne "") {
        &send_line (COMNEWTON, "\n$SendFileSoup![]");
        &send_line (COMNEWTON, '{a:"string"}');
    }
    
    # read lines from file
    while (<SDFILE>) {

	# replace German Umlaute
	s//\232/g; s//\212/g; s//\237/g; s//\247/g; s//\205/g; s//\200/g; s//\206/g;
	# Print to STDOUT
	print "#";
	# send line to Sloup
	syswrite (COMNEWTON, $_, length($_)) || die "write systemcall failed";
    }

    # send soup end to Sloup
    if ($SendFileSoup ne "") {
        &send_line (COMNEWTON, "BYE!");
    }

    # close logfile
    close (SDFILE);

}

1;
newtonlink-1.29/SetSloupBaudRate.pl100444  21003   1604       12372  6574464401  16266 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# SetSloupBaudrate
#---------------------------------------------------------------------

# $Log: SetSloupBaudRate.pl,v $
# Revision 1.18  1998/04/10 15:10:59  kalli
# Aenderungen von Mark Bowyer
#
# Revision 1.17  1998/04/03 21:19:19  kalli
# Neuer Init-String fuer Solaris lt. Mark Bowyer
#
# Revision 1.16  1998/03/12 20:41:02  kalli
# XonXoff Protokoll bei OS-2 dazu
#
# Revision 1.15  1998/03/07 16:55:51  kalli
# OS/2 String nach OS-2 geaendert
#
# Revision 1.14  1998/03/06 23:21:48  kalli
# Option OS-2 dazu
#
# Revision 1.13  1997/12/15 09:25:03  kalli
# OSF1 option vorbereitet
#
# Revision 1.12  1997/12/06 17:05:40  kalli
# Umstellung auf Sloup
#
# Revision 1.11  1997/11/29 16:46:08  kalli
# Aenderungen am Solaris-Init-String nach Mark Bowyer
#
# Revision 1.10  1997/09/21 19:32:28  kalli
# Init-Strings fuer SunOS eingefuegt.
# Waren bislang nicht drin.
#
# Revision 1.9  1997/07/15 19:43:00  kalli
# Aenderung in HP-UX Init-String von Roland.
#
# Revision 1.8  1997/07/12 19:11:54  kalli
# Aenderungen der Struktur :
# Erweiterung fuer HP-UX nach Angaben von Roland Tanglao
#
# Revision 1.7  1997/05/28 19:22:40  kalli
# Aenderungen von Gerald Hofer fuer IRIX
#
# Revision 1.6  1997/05/24 15:28:05  kalli
# Aenderungen fuer IRIX-Version von Gerald Hofer
#
# Revision 1.5  1997/03/27 19:49:02  kalli
# Andrew dazu
#
# Revision 1.4  1997/02/23 15:16:08  kalli
# Frank dazu
#
# Revision 1.3  1997/02/22 17:05:06  kalli
# GPL dazu
#
# Revision 1.2  1997/02/19 20:49:41  kalli
# Anweisung stty sane < /dev/newton auf Anraten von
# Frank Scholz <dev@artus.pf.bawue.de> aufgenommen
#
# Revision 1.1  1996/11/24 19:15:40  kalli
# Initial revision
#

sub SetSloupBaudrate {

    #---- for HP-UX ----------------------------------------------------

    if ($SystemType eq "HP-UX") {

	system "stty sane < $tty";

        if (($SloupBaudrate eq "57600") || ($SloupBaudrate eq "38400") ||
            ($SloupBaudrate eq "19200") || ($SloupBaudrate eq "9600")) {
            system "stty cs8 $SloupBaudrate -echo ignbrk -isig -icanon -iexten ixoff ixon -icrnl -istrip igncr -echoe -echok tabs < $tty";

	} else {
	    printf "Exit - wrong Sloup baudrate selected\n";
	    exit;
	}
    }

    #---- for IRIX  ----------------------------------------------------

    if ($SystemType eq "IRIX") {

	system "stty -echo ignbrk -isig -icanon -iexten ixoff ixany -icrnl -istrip igncr -echoe -echok -echoke -echoctl tabs < $tty";

	if (($SloupBaudrate eq "38400") || ($SloupBaudrate eq "19200") || ($SloupBaudrate eq "9600")) {
	    system "stty $SloupBaudrate < $tty";

	} else {
	    printf "Exit - wrong Sloup baudrate selected\n";
	    exit;
	}
    }

    #---- for OSF1  ----------------------------------------------------

    if ($SystemType eq "OSF1") {

	system "";

    }


    #---- for Solaris  --------------------------------------------------

    if ($SystemType eq "SunOS") {

        system "";

        if (($SloupBaudrate eq "38400") || ($SloupBaudrate eq "19200") || ($SloupBaudrate eq "9600")) {

            system "stty cs8 $SloupBaudrate -echo ignbrk -isig -icanon -iexten ixoff ixany onlcr icrnl -istrip -igncr -echoe -echok -parenb tabs < $tty";

        } else {
            printf "Exit - wrong Sloup baudrate selected\n";
            exit;
        }
    }


    #---- for Linux  ----------------------------------------------------

    if ($SystemType eq "Linux") {

	system "stty sane < $tty";

	if ($SloupBaudrate eq "115200") {
	    system "setserial $tty spd_vhi";
	    system "stty 38400 < $tty";
	} elsif ($SloupBaudrate eq "57600") {
	    system "setserial $tty spd_hi";
	    system "stty 38400 < $tty";
	} elsif ($SloupBaudrate eq "38400") {
	    system "setserial $tty spd_normal";
	    system "stty 38400 < $tty";
	} elsif ($SloupBaudrate eq "19200") {
	    system "setserial $tty spd_normal";
	    system "stty 19200 < $tty";
	} elsif ($SloupBaudrate eq "9600") {
	    system "setserial $tty spd_normal";
	    system "stty 9600 < $tty";
	} else {
	    printf "Exit - wrong Sloup baudrate selected\n";
	    exit;
	}
    }
    #---- for OS/2  -----------------------------------------------------

    if ($SystemType eq "OS-2") {

        system "cmd /c mode $tty:$SloupBaudrate,n,8,1,XON=ON";
    }
}

1;
newtonlink-1.29/SetYAPIBaudRate.pl100444  21003   1604        1073  6574464401  15702 0ustar  kallischoeb#---------------------------------------------------------------------
# SetYAPIBaudrate
#---------------------------------------------------------------------

# $Log: SetYAPIBaudRate.pl,v $
# Revision 1.1  1996/11/24 19:17:48  kalli
# Initial revision
#

sub SetYAPIBaudrate {

    if ($YAPIBaudrate eq "38400") {
	system "setserial $tty spd_normal";
	system "stty 38400 < $tty";
    } elsif ($YAPIBaudrate eq "19200") {
	system "setserial $tty spd_normal";
	system "stty 19200 < $tty";
    } else {
	printf "Exit - wrong YAPI baudrate selected\n";
	exit;
    }

}

1;
newtonlink-1.29/SloupTest.pl100444  21003   1604        5100  6574464401  15011 0ustar  kallischoeb#=======================================================================
# Newtonlink   - transfer data between a Apple Newton Message Pad and
#                Unix applications
#
# Copyright (C) 1996-1998    The Newtonlink Developers
#                            (newtonlink@newton.bawue.de)
#
# 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.
#=======================================================================

#---------------------------------------------------------------------
# SloupTest.pl
#---------------------------------------------------------------------

# $Log: SloupTest.pl,v $
# Revision 1.5  1998/03/06 23:12:27  kalli
# Umstellung auf neue ser. Treiber
#
# Revision 1.4  1997/12/15 12:31:25  kalli
# Dump all notes entries
#
# Revision 1.3  1997/12/06 17:08:23  kalli
# Umstellung auf Sloup
#
# Revision 1.2  1997/05/31 09:49:59  kalli
# Test email-groups
#
# Revision 1.1  1997/04/22 20:00:05  kalli
# Initial revision
#


sub SloupTest {

    #send commands to Sloup : send new entries to notes soup
    &send_line (COMNEWTON, "\nNotes");
    &send_line (COMNEWTON, '{labels: \'Business, }'); 
    &send_line (COMNEWTON, "first paragraph, first line");
    &send_line (COMNEWTON, "second line");
    &send_line (COMNEWTON, "third line");
    &send_line (COMNEWTON, "that's all folks");
    &send_line (COMNEWTON, "----------");
    &send_line (COMNEWTON, "second paragraph, first line");
    &send_line (COMNEWTON, "2nd line");
    &send_line (COMNEWTON, "3rd line");
    &send_line (COMNEWTON, "4th line");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "more");
    &send_line (COMNEWTON, "etc.");
    &send_line (COMNEWTON, "end");
    &send_line (COMNEWTON, "---------");
    &send_line (COMNEWTON, "third para");
    &send_line (COMNEWTON, "---------");
    &send_line (COMNEWTON, "BYE!");
}

1;
newtonlink-1.29/TimeDate-1.07.tar.gz100444  21003   1604       31471  6574464401  15752 0ustar  kallischoebR2TimeDate-1.07.tar;{Ȯ
]bܘ7$hR؄n܀&	Ms>aWڞ_wsv=#i4FsgdZʥ;'ٝR	@ȿs,v~X,;Emw@_<:8'|N_|)[I/=dGfQfwQRa{\	dOl\J6
8SBHvo
j~j!|;>cϷmx
L	t,QN$	rχuzSj]ۇp`C`lm %+3"D`{iMo_ѴmuspRk5M{s>+ߛDx'gͣ&"C؃WX$=g;nz8ڣM0;{ԢB o!bsNK6ωtx3إEb̓7GgG':d7NF{z.2<8:9r2){u<l]!8s[tF>3.J">8(d덳y݄F.LxzRov\Cs=lV
o>p<Wv945υscMi|AjO$R#j3`8$L\H$+\E=k2qЙQsD!cr	3DOtU	:!ξc6pj&BT\A
Fɡ&=ɚpRwj#)-oMkt.a7.\OF(`0m0Wx‚$lHCCˍKN*XEU\_QvmUoNߜ/8Ad[W*a6o
ah	$Ґ	&D{+̤P\pG5t,-zr5H24hnKppuLb-BfU9NK2M>&[wf/_2H<|ktRsSAd&d=[ܜ/=UqK<6R}2RZVhQhlhoVBJQd&<&z\h^Ը[(Es[FW-9<4oupE(Z~%M(a&rpݒD%agk
!		юrXN
.i5iȟйuR)6`\X,Oيuֶ򱣶؁mW2 Q&.RCPasqh
C>X9<|o5Ma4ڄ!$;`c`@ԶhkOÕTc$\@0[ ;B;\ŋyK
lpsAϻ]U
m4b!Vk.9dwfiۃX`wir;yd!MS!v^WƑ-ĘUI	51>9BLX-,Z	VM#="
1wD<qerfO`#{dNg}$(N%;Ib<-Tf+ޞ>}iʁ4TCgrtGXo57+Bztѝ}xs5g?|N'Kg$4:@Їv o,&CCY]q"qd/n4{tӉlbB&n4 Y6}hpI:CPQ/jICR躡ksr+[^8zD<GXUd:NzY:3_5Hr1iHFL~H_icC[yhVIImrDƵ^s司Jc;+L0lW!"zI//rm bEJ}>bCk-]xԾ>JREAP-	b).H4M|67 69$X$ih82w1BQ{f+[шM\%hfA菒{6E6.XO?
iϗ^a2vJi4A{r2TCw'AZ&oiJLBHp
WVHc<*;>G[k5_\Lz+=CD5"|9}.:L|w뉏
fyi_aqSm	j#=Ɠ9Qp	=7 Yp5{v<[K3kx0n"EBc{Q4ؖ}tpwwPp\\-v`	$8rn4mn!eLb7)UGt`rQN4zi@\MU~гΟf&	ggUwdđ.#uӃq)Sn7qA2n2#q3#L`LpEiJ3_(d'ɰ:UBuN;0Ydy^z˜-;ҝ>%#T,=lee@v8Y+d`P#&ax9X "}]	mk]<>xc>G5ѐ7 E84MK[tت/mR !4A~ !_'B@v۰G*(emKm
.9h+`$Ths^O6{,
Nka}*(X;mQ2еϢz"C®e' gԣ
gqy.a#$&prHlQ6a8]B(!hLFAd_0d]Xh|o B5b+t&@a7I%x1[+S|igTR#8-T|URKs1}}<οzVouY-DzJSgaӬaѶb5]D=Td\L3Sޯ{uUxk|ĝP.6]Sك>8L^op'p
gp

wﻐry<EP掸}td
M*ړ346|'W(v?օ(D[NV$ƈi1~CGtj>``tnY2)b;]YEs\{VHzJNio&a|#k6! ^aÏX/Nät蛌=z3vZ*fTb.TD%		Rn434eBA2N+30fhvR&;(dq٢xIimAݷy؍5>)tɰK'lܭY+1)Qӥ9v2Sʈjjvé+.u8?-߷UE6_dfTfX~ZBC-o\nRhm%:%_2ûR	/ǿ䇦wӻ2M[JgYmS3QNnYUZ9j8Df%qYSd$zߙP	цQW	^I-_b{5XO\{Gtzfѽ>{+>WOf/%2=ۄn֟~
1L{wWd;_WdX1($UKlDy+<͈ޣ[3
фCDo=5$mvu1x:oiY:#<N\@FE""Kht:8Dlsҥz'>	$K#-'q/h|<#,C!E4eF
8*kzFܲO	\+6rѻeh+
VziJ:A.o
=JoƸ?3gE%I굆	Y%hCnH{4`B)ܣ؜/JB<{(@"<2ned,exFŜC;3HV@Ns4VZɖ~26`3XfYHj_ZG>w=u`sn[A۸h[f<2<Kvm/
8*Rdy`#!kp,Ҿ(#o[F}I|'~a/q~1	B悓B*MHYV*)2U?˘@0705pIk &XL(ˆ&S&	gUrBZLHEn$[yַe̦9L='etk)Jb[8Lm$73`<.g
b2zr|^ls<ߨLg
3/GVT6+=%84}6H6bRtܳGTUb&1_
R߫̕DԈmW\#J7ԿK&U|mNzGNNÀOai.fϽ'ڊ}|BT3"$z#`bmUBVBLϣ,<#M$3n3fKa+U=V"uXFl{9Ƿ1%=J""N@>ɺξ^-+?rD5%P+5RK%":1
d:'%#@3Pqck0%h.yfM
9qUѧS^Lţff*ʟD`~VP`E?Qۮ"UuEpdmer4ʫ&u0(e da㊜̃sTtRP{[&|"9@)\TfTgJewY.cG^,?Nvg,Q+tgEٽ/
?VϔWz	K@gLߨ;+;xY鰲^:p׾[=rQ7mDG%|ϋXg(r#dx4CoLǧC=5ay܋b	M3e!7.CnQIȀ#Td++&CnULvDu&~vÌ
VcZ	{0XU!qf9QXB_߳!֕;H<I$z@
xյbD,&?@Gd DW;3 @~T_+Y2b¼<A	R⇕o5~_)qUw>qqOݢREwf=zFZZK%͞8Wy&M-IDű9Oۇ03pHQ6MNOp`0 Ztמ(,?4,{! 
dc}6jj)[h%R<(J;iqUhSڔ)5PAP')$%e$4 j&l
BDGY~<LtIߓ<] ^oq+J	!ȈSN0vK9"̇ۅ2"̇kmϳE<MS$M'|#ur0
Fq=e_q[~pM#N@d$?VTd	4J2Ԙjsq$N'jfV n|-au7q_	H9('|ri2?	Ӕsԑ,DH+'
|i2#	3^$?0$ʳn$@MLAx?^[ad;Ŕn	?Ԗ^yk.ti
g7?sswl9?:iݠ;(}$Ioq(}CE-dNih3?*Bف6Dՠ#	g&.E#+xRϊMPO/I.⁌x/hxGW<5-:_[E'Z,78Yj&hE놲Mw1\0:kR](9'Gku^m@oIyjhCe8ho߾[K	C`p2`Zvu,v3AtA,*Mfhp8tB
8?-{h5`}ش)[l:C:n՚mc:!9>[_C:óCV0(o[t
`whj3`:M-f,`#Lnl{[쁎49tQo#¯7]~ aϦY:`74k8p)Gۡ rV۴}FA2(xqnA.é}gԖAh	=4B
64};I]KuA-!BTafh;5C#{{pQU,nXo
ڦew`A6"rv@!W/dz.̔(#ШBA,w.0=0];VzC_`
8ZzD
8Fv
Z#
vDZZbPPb5CmWzjX(^x3p1P8o۾`5,ڠ6E$AR1HY(SkDxmAA.Cղ gtZ.emvm)ݠx `Vq8Qx
3mt
hJ8a2	M!hH-4pY
SQ#<tTkd
zDhIŐnI+h,#7$pպꋩ^ve48Rϫ/F`awgSr
.jwRӬVo Fs} 8*H";p<aB]
L7bprLnr5lQ/De	Sm8k|Qдgxͺ`a`]m:0S%0G*TB_\>4Hhy;PN (
LV4wK.a,u6Q'*AuY74/U,8_	6nm)
<qoMT־ՠ$ndJޯU36qu'ðA\[,4EQQ$/<.>QэGRF3cLF%af/BۢXu;ŝ
6``wMο|#V!*m`li+uk;	~QtC_
	Fŗ,`THcE&u`k_z,axῦ|>	Cc5Kgmj0V6WVe	*S^	59j,'0kF5<%1]L*q72kT,\v)5f0Ri0X~3<hPw
΃a	:70(b,ɻKo-1K횇"Gx,怍AQ^Fwx>8PG*;˻/!&л0w#C~GuE^/NLf*&ݜ/C6>Dz

kW~ޮ@Ns˯vOs/hc;^:g<mzXE*j7}ZXuqJ+)xP%N%YD:J7Wtէv:&B\_
*x!2/^(0*풰h|GY$"+I+"U=o4
)٩>kvp@>B'6p|
ujPbAuy2%[A&tCXŢxM5MԚjM}Z<I4Nkڦ5MӚiMô]Z,i4!5MҚiM=:4YP.|_n_nOU_}'BH
]n(M7׭r2환TK[j%Җ:iMFZS!Sr6v)
!!s!S!3!=~lŨf96
IMI
ImR
5КQh lg6d6eM~k c~H=."wgWG.n]|@w[51)p)P101]y3g*Ln77|[c1ݭbۖjk`v#ޚv«U7RYk5P1011)6h*zҏZ(T|)#C"(X\V3pw%/yCh%IҎw*2wn4oK%ņ
!" H]Hǫ?m~JYy`%oq@L/.qSk-6"J-JMby!%]@z{Kw)'+Bo[Ϫ㷏r-gcڔq=K\<eZ>jj	y3qZ5'Ռ׊P7R_&2/{m*E#&	]൳'#ѭ4*@O/U%~"6fx
H[`!V*Q/YMYJgFj,UrIQ$kJ6:6ي%){v_
fɛTͲ9%]X(<ӻ#NgT_Wlc1, ]|u@5Kce@n,XJ+(?6kQ8['Idj7 KxV0iUL:&jdŽVɂ΢E
d؝sz7$9zfq6/ٝ9}7JsYlVȺ]~/U5U,RW9J	ժT$Y`wC٥+^D˯AS>lvF=twp;>w
 o.Q3JI7`ZYOXFx}%+cːQ᭖|S%l/nьW1:^<<~u
K}̳(5Q+n%OE	"-@ir0Lh90}5|=:~c|~_fuon
[wL厺*ENwGza! ڠVuCչ9:߳#n	]EE	eKc9^}?nrݠa1+^}7a;#.oxPJ^
=j/09+}Wj8Wj$UP2?H*.P$&ƥPG5{kWՑZݼC\},;N!؝2
gM7u{w6:=4_o3d	č3pZ,XAe :^:^$\NCV_vJ{_PD!3u .[z%<_aPAESmx-i*[O2p7`1$&iHOtB`18"yf8-IfEJhn֘Gi.?~dȕYĈ8}
D/K^SQY/@
vI˰(c830y 8Ez]ҕdPv#&>bqbQqEKLExW0xO?QR{\AUzlcRTd5g
tB5D?Y
~X`yt7LZd8JkKM֭oЧy*p[h,vXv$q\(Gm6	zD1?{	nOM2Dd"P%E	0@_i׆@'l1IRX0Mzx%Mm)TUCI6Uwn#nh2yk\OMhgL\{<(;GC!
\/dV`zB
'=m֯j$r[U0RJ
%PEJ10Cqa%Fa.5(`jKR<}P}@#1o
nAS(<B(
41DEsgTVFǂmW[)y#f؋-ٷ	QN(W@OA@E-R+oH}4J1S{VGӳI4Q-I@E#@dI.\69R\t3&AWsO@{T5bks9Rb>9F rvY dRH9^?VqdXמc"KWK
9/P5H -ҏEhJE
7DÓlAt-QT[hx&Ĩ64,!e)pzkuu
{'"=]Q#ck%_*F=AA8l}c1Ұ^>/'b
e4A	' >ӖbZ0|%)Т,$Vq,(~ Qcɽ[e@ZiUb+j&%xQ=RovC(Z<]6V054,3Ox#cҧ* PB<#Ǚ`,x҆G24v!5RAYV<n*~Jdݛ;+v5&&$+~ѽO??N*ħ_?ſgQ:eݾOwvvoCy#ЫkD" cT((*+EsŇ/uytѣ@[=2,vBTi,[?K%A}Z?b5j0`n7fX	HɻEv2i=	Ev'x^5|N7gΈX|;zs,.%&
D4д{`q0DVfQ]l'UZvp>#"ض\e=P=f9ft)SXϰ$ɂQQ$thw񀮷H1]1A]q=4՜U5e'%2elOEDU
&V!+.^>IЏ{ђ݉ݓx1-4vP̑8h˧m̼7@Cn^<(
[:KYQ8_8+M"m+hE<֦IL: O&fZ͕?t9I`(
QI
Vr:*.x\'lTÓT^T~6a>WҢ.gn{*gwh|y\PXjGO+i	؃T&QhC/NGCr6"*'1đisoԻ~y"wz.9vl^{R3xp^L^ЀK^(N!\77_fi}{;wu-6j
#`0a*Iṳ̌~Cėon4_"of:حw77h4f?ď hRq*M1i6MmbDŽn.;(tpK^Nʔi"z]îkd"47Uj͎YxƮg畯%mI8]%jvFgSAF,8[ߒ0-]황yuD@GX*v[Zqauo:kER~7Zq8!Fލo		gv)v%uj;!q_ǽ!vùixdvgn4qwwrY'\AQğR+7ݵ{\U6zMrWw;=:1kvۭ΋ho){o%M-LJYnSyR`q|L|.71GcU'QM7~1n~*o_|Br=^t,W|Täċ.7KK<m)'ע8)*C;Reh0&8Zd,5c&8 hrb@~SlsXqOgEqɰ7i1sOe-MI,N콳!'V灚Hh1N~g=fEڲɦ`b
3`YMyF;E
_h 񑄞)}	T(z=tdQ?#4?o{V59$DYs?"	f(r4=kO=,DI(	aL"H5<Yk_V8- QgK𶴙.SQ2d%.C\#vԍ˄MLJ٣&pdXD)=[OEv'+I^6ia>cR2Gz""QmSؓ*^8Kn)
BP(
BP(
BP(
BP(
wwnewtonlink-1.29/about.fig100444  21003   1604        1602  6574464401  14316 0ustar  kallischoeb#FIG 3.2
Landscape
Center
Inches
Letter  
100.00
Single
-2
1200 2
6 2625 3225 9450 7125
6 2625 3225 9450 7125
6 3675 6000 8100 6525
4 0 -1 0 0 16 14 0.0000 4 210 4380 3675 6225 c 1996 - 1998 by The Newtonlink Developers\001
4 0 -1 0 0 16 14 0.0000 4 210 3720 3675 6480             (newtonlink@newton.bawue.de)\001
-6
2 2 0 0 11 11 1 0 20 0.000 0 0 -1 0 0 5
	 2660 3225 9415 3225 9415 7125 2660 7125 2660 3225
-6
6 4275 3300 7800 5775
6 4612 3300 7462 3975
2 2 0 1 -1 0 0 0 20 0.000 0 0 -1 0 0 5
	 4612 3300 7462 3300 7462 3975 4612 3975 4612 3300
4 1 7 0 0 16 36 0.0000 4 405 2610 6037 3840 Newtonlink\001
-6
4 1 -1 0 0 16 18 0.0000 4 270 3390 6037 4425 Transfer data between your\001
4 1 -1 0 0 16 18 0.0000 4 270 3495 6037 4770 Apple Newton Message Pad\001
4 1 -1 0 0 16 18 0.0000 4 270 2625 6037 5115 and Unix applications\001
4 1 -1 0 0 16 14 0.0000 4 165 1230 6037 5775 Version 1.27\001
-6
-6
newtonlink-1.29/app-defaults100444  21003   1604        2640  6574464401  15030 0ustar  kallischoeb*AdrButton*labelType:       	XmPIXMAP
*AdrButton*labelPixmap:     	/usr/local/newtonlink/pixmaps/addressbook.xpm
*PlanButton*labelType:      	XmPIXMAP
*PlanButton*labelPixmap:    	/usr/local/newtonlink/pixmaps/Plan.xpm
*XroloButton*labelType:     	XmPIXMAP
*XroloButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/xrolodex.xpm
*NetscButton*labelType:     	XmPIXMAP
*NetscButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/NetscapeMail.xpm
*NetscAButton*labelType:     	XmPIXMAP
*NetscAButton*labelPixmap:      /usr/local/newtonlink/pixmaps/NetscapeAddressbook.xpm
*MailButton*labelType:     	XmPIXMAP
*MailButton*labelPixmap:        /usr/local/newtonlink/pixmaps/mail.xpm
*PrintButton*background:	Grey
*PrintButton*labelType:     	XmPIXMAP
*PrintButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/print.xpm
*FaxButton*labelType:     	XmPIXMAP
*FaxButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/fax.xpm
*InstButton*labelType:     	XmPIXMAP
*InstButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/install.xpm
*InputButton*labelType:     	XmPIXMAP
*InputButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/input.xpm
*SendButton*labelType:     	XmPIXMAP
*SendButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/send.xpm
*HelpButton*labelType:     	XmPIXMAP
*HelpButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/help.xpm
*ExitButton*labelType:     	XmPIXMAP
*ExitButton*labelPixmap:   	/usr/local/newtonlink/pixmaps/exit.xpm
newtonlink-1.29/doc/ 40755  21003   1604           0  6574465342  13175 5ustar  kallischoebnewtonlink-1.29/doc/Images/ 40755  21003   1604           0  6574465375  14410 5ustar  kallischoebnewtonlink-1.29/doc/Images/Aware.gif100444  21003   1604       36503  6574465375  16260 0ustar  kallischoebGIF89a=f3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3wUD"wUD"wUD"ݻwwwUUUDDD"""!NETSCAPE2.0!GifBuilder 0.3.2 by Yves Piguet!
,=@H*\ȰÇ	ŋ3j'E|ˇO@Lʗ)U<زK5gDhϞ+q"}VSh=PJ=(U+C	d֩Pa̛0th-V)&ݻP^*p+EWXKX߾ˆ+^
FK,/˘ZLڕgL+4͞V-zE#8˹Bhtm+d=B|Xy:{6,r>><}!#M^z={.~}?9\G%_
6xY{Fxf\CkY^]Nhiȡ'ي
YRQbk$i%8t}Fc=pS6)rq%ҐA\ޕ%Uұg56k$hmiOpimlu%E^lRaޡ&^bDu)*餄mRh= 16#iUx矨B>꫰*무j뭸zVK+k&6coFV&WXܙQmbJe+'+0>>L+X?ƛ<($#%X')밶vn0RDPj/BiHNٱIR	=L1gɓېK$͜l$RU\QdUwN0bvD>fh
SL{ELj)UIg5Ҵ\Qse9'l[[L܅^djz17z>ש	z錉9a7*/O$<@c`\]MP}A'|Mn}[
iT槏~Co/	!
,=@H*\ȰÇ	ŋ3j'EVO|4&H ˖,e̓1cԙfOV

'0T_>+R^=Xjشz\ʊ[1҄L;ikYR,kmڿ/eiǏ2xƐ#K<9a3kάCxXgТ}	wnM6YK6l7-vǛi~GǙ!aK5|xmٛio<NZuq;l>cӛTw_KwXϞX 6 _sbg!ᆛu &sI琉ĵ朇T/O5[b٨"D#=9e8ton$nt5xt\RAuV~wXQ%$yRv~MF㍱턧kiKf:tebeS(}	d5:&EDɉff駠~YgbcawgIvJbF鯤Mϰk&6:+VTVkfv;"Va:4n"h=FpYj<)v"j#ҜYI	ם{&0*θ!H$P5%u%gxcEf]gk1(vUمi[ZYvD[d4AH4aFQoV:9]or^		S1BMj[rر̷}S<O&,3}S+iam'Z}݁
HvhNevce]p`guꪋjW͛']+怡koea|~+oaWWk؝y[d=RM5CQ>~>??QP+_KS	_ȥJ,OYYP"H	ZP|J5(Ar E
f0WHVP"!
,=@H*\ȰÇ	Rŋ3jȱBPbɋ$X/uH ͚4Yfσ9sgQV*M '4)UܻJS{<Y+O	FyҤٳ+’eg];}9P÷VB
Il=V\
v0d+H~oϠCV9XӨS\;@TU˞ݐk]瞛M}{_Ç6$%ΧX_>~fmCJ\ew_=mxwX%(~}h|T>&h2`|@T=f
fȡza$#aV0E2s&<#lC%ܐ97U@ӕ3uqvrHq	\F?▒V+Sui^	בYfoyadY9eK$ \rE=^il>yAѡ&kᣧju7qr)
QTmz$q_viʟeJjVLj{Je߅,u啦h6,IHa=kI6>Y=-+u"J^>+kZ[,l'7F,(M#'ϝf#JSXq%'Բ6BlRv]hJ櫟ܪ^덼s/glYm@QQPߥ\wɑ*Qw8cȡtՙ%0n
>+LVVl&IdW.eReu)st[5nE$}b=~2^݃3{Ĺm
TG]-[y+)sBWrCE^^RY[1,2Uln';:Wu+Ub]!+^eܻQf7z騵gms5.}_jR?2r!߰<	, &iȁV6(}/|K.'04l	d[᷸b,fp)Oh.@(D*1t.B5
	ю@.^Q!|(%+I
ר6Yac89эucF8ⱍrԣ G6J$ !
,=@H*\ȰÇ	?3^ȱǏ EQj$/>}1H ͚4Yfσ9sgQV*M#':<U+NWK^ȯ`Zk)%
j\;p˘f	́<}۪ͫeH^˘Vk-V{^JlgSŠ>MK|+K̺kh	M[nkSx#]u>8_M튽gu+.U_6-cx,yl
\`={ou):_b_cѧYA ~*=>V^abVH
`b~("~.(#0Hc-؝&C(t
s%RnGtqgp>>A'Sn	L8ee5xVI%qgzT$Q-gqiY̝{
ԘvZCӅw)ՒɧZZqEVz;~wÉE`$znrהn֚jxna.Uf\~+X
jz6	@=ZagلUif@%ŝ}헭Fhں얆mIcgk_Zs,i+X&Zl4G,Wlg1h ,$l(*!,Gn	͎IP⌳w,QN2әV4sKnuFСzڗq2Z3)y)[YGe嶛6mzb2fQJibLk+k&7µ&|O߾I[zNˣpYCWޒIIb"|ym[5Ie>Ըrj4n|j9URޔDzM{l˾459Y鵳:k*#8KJwAivQ_7 ūrb&X	
x|v4'`N)$jtŽ,jaKjM5KCiQcu392^bxĉ
EHF{ 4X6zptA=q)c>vGA2Jt
y@JHMR!b2IE;ؑ(CIJPRԎ*CT%,KZR.Q)J!
,=@H*\ȰÇ	.jȱǏI@F-($|,H6ksN:y3͢´)S|9%ʇ*U݋yoE=h"֊TTIdr\r#ϠE:4ϣru;udI4U˹^
3V@ݧװjn\մ۸ͻwXOSO{%qa惟nA*ɮXq|Q}wV4c4yQ2˞%7Eʯg|xP~ɵP=GP=S|=ƚ>v~(b$h޽v@XaX2X#1҈c<裍ʸ#2ZH.&dG--*WFw
Ept=tA9z^҅	aoWAc)heJ,fNfs;%W_s]ϊgC֩t	U=Fbi&
$Հy§uzYK}j`ډ"&~&Xujd,Kt,Zz!w᤟d`L)va۽޻!z	+jGb񥬹Gw ,$l(|r\
0,4l8sgfZ=,GAYCZt]"=UgCR}k>MTveQ±t~njCjve]_`AZ
zϠf}(lM[e]jui_%-D.F_)L>.fcX*BB+
š;wk[_T2U~R*Twq]PWS:3ϧz

)Gytַ%.V2e+@vUm\]bQǶ	ZP!xp}af-j
b@L/yВ-]~+;t
Wxe,cywÏ0aC\B"v"0y6Pb[8
FEr26QR\H7bXGIrKL2H1I$"bF6R\"kI
C-&1'_J`;%*Iq)%,gZNJ|e.sKZ,mY&1e)!
,=@H*\ȰÇ	.jȱǏI@F-($|,H6ksN:y3͢´)S|9%ʇ*U݋yoE=h"֊TTIdr\r#ϠE:4ϣru;udI4U˹^
3V@ݧװjn\մ۸ͻwXOSO{%qa惟nA*ɮXq|Q}wV4c4yQ2˞%7Eʯg|xP~ɵP=GP=S|=ƚ>v~(b$h޽v@XaX2X#1҈c<裍ʸ#2ZH.&dG--*WFw
Ept=tA9z^҅	aoWAc)heJ,fNfs;%W_s]ϊgC֩t	U=Fbi&
$Հy§uzYK}j`ډ"&~&Xujd,Kt,Zz!w᤟d`L)va۽޻!z	+jGb񥬹Gw ,$l(|r\
0,4l8sgfZ=,GAYCZt]"=UgCR}k>MTveQ±t~njCjve]_`AZ
zϠf}(lM[e]jui_%-D.F_)L>.fcX*BB+
š;wk[_T2U~R*Twq]PWS:3ϧz

)Gytַ%.V2e+@vUm\]bQǶ	ZP!xp}af-j
b@L/yВ-]~+;t
Wxe,cywÏ0aC\B"v"0y6Pb[8
FEr26QR\H7bXGIrKL2H1I$"bF6R\"kI
C-&1'_J`;%*Iq)%,gZNJ|e.sKZ,mY&1e)!
,=@H*\ȰÇ	.jȱǏI@F-($|,H6ksN:y3͢´)S|9%ʇ*U݋yoE=h"֊TTIdr\r#ϠE:4ϣru;udI4U˹^
3V@ݧװjn\մ۸ͻwXOSO{%qa惟nA*ɮXq|Q}wV4c4yQ2˞%7Eʯg|xP~ɵP=GP=S|=ƚ>v~(b$h޽v@XaX2X#1҈c<裍ʸ#2ZH.&dG--*WFw
Ept=tA9z^҅	aoWAc)heJ,fNfs;%W_s]ϊgC֩t	U=Fbi&
$Հy§uzYK}j`ډ"&~&Xujd,Kt,Zz!w᤟d`L)va۽޻!z	+jGb񥬹Gw ,$l(|r\
0,4l8sgfZ=,GAYCZt]"=UgCR}k>MTveQ±t~njCjve]_`AZ
zϠf}(lM[e]jui_%-D.F_)L>.fcX*BB+
š;wk[_T2U~R*Twq]PWS:3ϧz

)Gytַ%.V2e+@vUm\]bQǶ	ZP!xp}af-j
b@L/yВ-]~+;t
Wxe,cywÏ0aC\B"v"0y6Pb[8
FEr26QR\H7bXGIrKL2H1I$"bF6R\"kI
C-&1'_J`;%*Iq)%,gZNJ|e.sKZ,mY&1e)!
,=@H*\ȰÇ	.jȱǏI@F-($|,H6ksN:y3͢´)S|9%ʇ*U݋yoE=h"֊TTIdr\r#ϠE:4ϣru;udI4U˹^
3V@ݧװjn\մ۸ͻwXOSO{%qa惟nA*ɮXq|Q}wV4c4yQ2˞%7Eʯg|xP~ɵP=GP=S|=ƚ>v~(b$h޽v@XaX2X#1҈c<裍ʸ#2ZH.&dG--*WFw
Ept=tA9z^҅	aoWAc)heJ,fNfs;%W_s]ϊgC֩t	U=Fbi&
$Հy§uzYK}j`ډ"&~&Xujd,Kt,Zz!w᤟d`L)va۽޻!z	+jGb񥬹Gw ,$l(|r\
0,4l8sgfZ=,GAYCZt]"=UgCR}k>MTveQ±t~njCjve]_`AZ
zϠf}(lM[e]jui_%-D.F_)L>.fcX*BB+
š;wk[_T2U~R*Twq]PWS:3ϧz

)Gytַ%.V2e+@vUm\]bQǶ	ZP!xp}af-j
b@L/yВ-]~+;t
Wxe,cywÏ0aC\B"v"0y6Pb[8
FEr26QR\H7bXGIrKL2H1I$"bF6R\"kI
C-&1'_J`;%*Iq)%,gZNJ|e.sKZ,mY&1e)!
,=@H*\ȰÇ	.jȱǏI@F-($|,H6ksN:y3͢´)S|9%ʇ*U݋yoE=h"֊TTIdr\r#ϠE:4ϣru;udI4U˹^
3V@ݧװjn\մ۸ͻwXOSO{%qa惟nA*ɮXq|Q}wV4c4yQ2˞%7Eʯg|xP~ɵP=GP=S|=ƚ>v~(b$h޽v@XaX2X#1҈c<裍ʸ#2ZH.&dG--*WFw
Ept=tA9z^҅	aoWAc)heJ,fNfs;%W_s]ϊgC֩t	U=Fbi&
$Հy§uzYK}j`ډ"&~&Xujd,Kt,Zz!w᤟d`L)va۽޻!z	+jGb񥬹Gw ,$l(|r\
0,4l8sgfZ=,GAYCZt]"=UgCR}k>MTveQ±t~njCjve]_`AZ
zϠf}(lM[e]jui_%-D.F_)L>.fcX*BB+
š;wk[_T2U~R*Twq]PWS:3ϧz

)Gytַ%.V2e+@vUm\]bQǶ	ZP!xp}af-j
b@L/yВ-]~+;t
Wxe,cywÏ0aC\B"v"0y6Pb[8
FEr26QR\H7bXGIrKL2H1I$"bF6R\"kI
C-&1'_J`;%*Iq)%,gZNJ|e.sKZ,mY&1e)!
,=@H*\ȰÇ	?3^ȱǏ EQj$/>}1H ͚4Yfσ9sgQV*M#':<U+NWK^ȯ`Zk)%
j\;p˘f	́<}۪ͫeH^˘Vk-V{^JlgSŠ>MK|+K̺kh	M[nkSx#]u>8_M튽gu+.U_6-cx,yl
\`={ou):_b_cѧYA ~*=>V^abVH
`b~("~.(#0Hc-؝&C(t
s%RnGtqgp>>A'Sn	L8ee5xVI%qgzT$Q-gqiY̝{
ԘvZCӅw)ՒɧZZqEVz;~wÉE`$znrהn֚jxna.Uf\~+X
jz6	@=ZagلUif@%ŝ}헭Fhں얆mIcgk_Zs,i+X&Zl4G,Wlg1h ,$l(*!,Gn	͎IP⌳w,QN2әV4sKnuFСzڗq2Z3)y)[YGe嶛6mzb2fQJibLk+k&7µ&|O߾I[zNˣpYCWޒIIb"|ym[5Ie>Ըrj4n|j9URޔDzM{l˾459Y鵳:k*#8KJwAivQ_7 ūrb&X	
x|v4'`N)$jtŽ,jaKjM5KCiQcu392^bxĉ
EHF{ 4X6zptA=q)c>vGA2Jt
y@JHMR!b2IE;ؑ(CIJPRԎ*CT%,KZR.Q)J!
,=@H*\ȰÇ	Rŋ3jȱBPbɋ$X/uH ͚4Yfσ9sgQV*M '4)UܻJS{<Y+O	FyҤٳ+’eg];}9P÷VB
Il=V\
v0d+H~oϠCV9XӨS\;@TU˞ݐk]瞛M}{_Ç6$%ΧX_>~fmCJ\ew_=mxwX%(~}h|T>&h2`|@T=f
fȡza$#aV0E2s&<#lC%ܐ97U@ӕ3uqvrHq	\F?▒V+Sui^	בYfoyadY9eK$ \rE=^il>yAѡ&kᣧju7qr)
QTmz$q_viʟeJjVLj{Je߅,u啦h6,IHa=kI6>Y=-+u"J^>+kZ[,l'7F,(M#'ϝf#JSXq%'Բ6BlRv]hJ櫟ܪ^덼s/glYm@QQPߥ\wɑ*Qw8cȡtՙ%0n
>+LVVl&IdW.eReu)st[5nE$}b=~2^݃3{Ĺm
TG]-[y+)sBWrCE^^RY[1,2Uln';:Wu+Ub]!+^eܻQf7z騵gms5.}_jR?2r!߰<	, &iȁV6(}/|K.'04l	d[᷸b,fp)Oh.@(D*1t.B5
	ю@.^Q!|(%+I
ר6Yac89эucF8ⱍrԣ G6J$ !
,=@H*\ȰÇ	ŋ3j'EVO|4&H ˖,e̓1cԙfOV

'0T_>+R^=Xjشz\ʊ[1҄L;ikYR,kmڿ/eiǏ2xƐ#K<9a3kάCxXgТ}	wnM6YK6l7-vǛi~GǙ!aK5|xmٛio<NZuq;l>cӛTw_KwXϞX 6 _sbg!ᆛu &sI琉ĵ朇T/O5[b٨"D#=9e8ton$nt5xt\RAuV~wXQ%$yRv~MF㍱턧kiKf:tebeS(}	d5:&EDɉff駠~YgbcawgIvJbF鯤Mϰk&6:+VTVkfv;"Va:4n"h=FpYj<)v"j#ҜYI	ם{&0*θ!H$P5%u%gxcEf]gk1(vUمi[ZYvD[d4AH4aFQoV:9]or^		S1BMj[rر̷}S<O&,3}S+iam'Z}݁
HvhNevce]p`guꪋjW͛']+怡koea|~+oaWWk؝y[d=RM5CQ>~>??QP+_KS	_ȥJ,OYYP"H	ZP|J5(Ar E
f0WHVP"!
,=@H*\ȰÇ	ŋ3j'E|ˇO@Lʗ)U<زK5gDhϞ+q"}VSh=PJ=(U+C	d֩Pa̛0th-V)&ݻP^*p+EWXKX߾ˆ+^
FK,/˘ZLڕgL+4͞V-zE#8˹Bhtm+d=B|Xy:{6,r>><}!#M^z={.~}?9\G%_
6xY{Fxf\CkY^]Nhiȡ'ي
YRQbk$i%8t}Fc=pS6)rq%ҐA\ޕ%Uұg56k$hmiOpimlu%E^lRaޡ&^bDu)*餄mRh= 16#iUx矨B>꫰*무j뭸zVK+k&6coFV&WXܙQmbJe+'+0>>L+X?ƛ<($#%X')밶vn0RDPj/BiHNٱIR	=L1gɓېK$͜l$RU\QdUwN0bvD>fh
SL{ELj)UIg5Ҵ\Qse9'l[[L܅^djz17z>ש	z錉9a7*/O$<@c`\]MP}A'|Mn}[
iT槏~Co/	;newtonlink-1.29/doc/Images/LinuxPenguin-bw.gif100444  21003   1604         231  6574465375  20201 0ustar  kallischoebGIF87a ", "x
LmSoXF.0Wx*R\#5
r[XB| )>^&nΰ&+kaɼvܩeF+w|Y?Ӧ6$4vuIP;newtonlink-1.29/doc/Images/LinuxPenguin.gif100444  21003   1604        1420  6574465375  17614 0ustar  kallischoebGIF89a "999111)))cckkkkRRRƔ{{{!ޥ9Zޥ!kޜ֌9祄9ƵνBBB!JJJ{Ό)Ό֜9J1kJZޜƌck{֔ΔcsJƄc9)cZJ)B1cssR9)!, "	

	
έ !"#$ͨ%
&'
((
AV)"bt`
khPEˆVLxE8ӧh	bhJyXt C
.^lcd̠Q-&hXt!4(ȁAаc<Bm(c4ZuPtB1@
nau!!8"m ѢVB("D+F<-:!r\$(acI"LɎ	7p"*X%;newtonlink-1.29/doc/Images/MkLinux.gif100444  21003   1604        2703  6574465375  16563 0ustar  kallischoebGIF89a-f3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3wUD"wUD"wUD"ݻwwwUUUDDD"""!,-H*\ȰÇ#JHŋ3jȱǏ CL8B'G\ɗ0[ʜ	5)iYfI#|l'O<y
=B2ի3*YP$qTy+Ҥ:}^[t*ՂbJ, ݺ:mD:
2hNTxar|ہs^vx`
u'̶?ǚ<"]}h/٦μybl=Ͼk`mBN^p4A&mQNܸ./zyp;/
޼wۏfl
q~%]Sa|n7xߑƐy>H@d[]q
`\(#7ވ[Ňw_#.X}EH#Ke
q䣆x؝BJ69߇2fY#Ij&eC"$vYg%/)"kidobeUdurl!*褡ѕYcg"B(ڨd]tiƢZ+*歇oV*8k-[_!TUkmbfYv+SQ:dh앫H1)4j{[
^dQEDQKK5nCpaPK-Vl
Gt$Cr(q,2F;newtonlink-1.29/doc/Images/NetscapeAddressbook.gif100444  21003   1604        2263  6574465375  21120 0ustar  kallischoebGIF87a.-48\`++R@L22R@4̐@@2+8j+@+9n+8j9;j+tU+@|1+@$X+R
@$X2
@<+$X
@++@+WR9@@21L@@,++a+@`191+L+R@@12xDR@2DLx@\+Ud+9U+U@0+2
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2009 MARUHN Internet Solutions