[comp.sys.handhelds] Boss, part 1/6

chuck@melmac.harris-atd.com (Chuck Musciano) (10/18/90)

     Boss allows Casio BOSS Digital Diary users to up/download data between
their workstation and their BOSS.  A Casio PC-Link cable is required.  You
can purchase one at your Caio dealer, or you can build own from the crude
schematic provided in this release package.

     Boss provides ASCII data transfer, full backup and restore capabilities,
and can convert BOSS schedule items to calentool format.

     Boss requires either X Windows and XView 2.0, or Sun's OpenWindows 2.0
window system.

Chuck Musciano				ARPA  : chuck@trantor.harris-atd.com
Harris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
Melbourne, FL 32902			FAX   : (407) 729-2537

A good newspaper is never good enough,
	but a lousy newspaper is a joy forever.		-- Garrison Keillor

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 6)."
# Contents:  Imakefile MANIFEST Makefile README calentool.h casio.h
#   database.c do_clear.c do_port.c globals.h icons
#   icons/bosstool.icon icons/bosstool_mask.icon icons/calendar.icon
#   icons/card.icon icons/memo.icon icons/phone.icon
#   icons/schedule.icon manifest.h object.h packet.h patchlevel.h
#   protocol.h record.h
# Wrapped by chuck@melmac on Tue Oct 16 08:53:02 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Imakefile'\"
else
echo shar: Extracting \"'Imakefile'\" \(725 characters\)
sed "s/^X//" >'Imakefile' <<'END_OF_FILE'
XOPENWINHOME	= /usr/openwin
X
XHELPDIR		= /usr/local/lib/help
X
XLOCAL_LIBRARIES = -lxview -lolgx $(XLIB)
X
XLDOPTIONS	= -L$(OPENWINHOME)/lib
X
XCFLAGS		= -O -I$(OPENWINHOME)/include
X
XSRCS		= boss.c boss_ui.c calentool.c casio_master.c casio_slave.c \
X		  database.c do_clear.c do_load.c do_port.c do_schedule.c do_store.c \
X		  expand.c misc.c object.c packet.c parse.y print.c \
X		  record.c window_misc.c
X
XOBJS		= boss.o boss_ui.o calentool.o casio_master.o casio_slave.o \
X		  database.o do_clear.o do_load.o do_port.o do_schedule.o do_store.o \
X		  expand.o misc.o object.o packet.o parse.o print.o \
X		  record.o window_misc.o
X
XComplexProgramTarget(boss)
X
Xinstall::
X	$(INSTALL) -c $(INSTMANFLAGS) boss.info $(HELPDIR)/boss.info
END_OF_FILE
if test 725 -ne `wc -c <'Imakefile'`; then
    echo shar: \"'Imakefile'\" unpacked with wrong size!
fi
# end of 'Imakefile'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(1509 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X Imakefile                  1	
X MANIFEST                   1	This shipping list
X Makefile                   1	
X README                     1	
X boss.c                     2	
X boss.info                  4	
X boss.man                   3	
X boss_ui.c                  6	
X boss_ui.h                  2	
X calentool.c                3	
X calentool.h                1	
X casio.h                    1	
X casio_master.c             3	
X casio_slave.c              4	
X database.c                 1	
X do_clear.c                 1	
X do_load.c                  2	
X do_port.c                  1	
X do_schedule.c              3	
X do_store.c                 2	
X expand.c                   2	
X globals.h                  1	
X icons                      1	
X icons/bosstool.icon        1	
X icons/bosstool_mask.icon   1	
X icons/calendar.icon        1	
X icons/card.icon            1	
X icons/memo.icon            1	
X icons/phone.icon           1	
X icons/schedule.icon        1	
X lex.c                      3	
X manifest.h                 1	
X misc.c                     2	
X object.c                   4	
X object.h                   1	
X packet.c                   3	
X packet.h                   1	
X parse.y                    5	
X patchlevel.h               1	
X print.c                    4	
X protocol.h                 1	
X record.c                   2	
X record.h                   1	
X schematic.ps               5	
X window_misc.c              2	
END_OF_FILE
if test 1509 -ne `wc -c <'MANIFEST'`; then
    echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
if test -f 'Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(2099 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X# Where to put the executable
XBIN		= /usr/local/bin/X11
X
X# Where to put the man page
XMAN		= /usr/man/manl
XMANEXT		= l
X
X# Where to install the help file
XHELPDIR		= /usr/local/lib/help
X
X# Where you installed Open Windows
XOPENWINHOME	= /usr/openwin
X
X# Where your XView libraries are installed
XLDFLAGS		= -L$(OPENWINHOME)/lib
X
X# Where your XView include files are installed
XCPPFLAGS	= -I$(OPENWINHOME)/include
X
XOFILES	= 	boss.o boss_ui.o calentool.o casio_master.o casio_slave.o \
X		database.o do_clear.o do_load.o do_port.o do_schedule.o do_store.o \
X		expand.o misc.o object.o packet.o parse.o print.o \
X		record.o window_misc.o
X
XOPTIONS		= -O
X
XCPPFLAGS	= -I$(OPENWINHOME)/include
XLDFLAGS		= -L$(OPENWINHOME)/lib
XLDLIBS		= -lxview -lolgx -lX
X
X.c.o:
X	cc $(OPTIONS) $(CPPFLAGS) -c $<
X
X.y.o:
X	yacc $<
X	cc $(OPTIONS) $(CPPFLAGS) -c -o $*.o y.tab.c
X	rm y.tab.c
X
Xboss: $(OFILES)
X	cc $(OPTIONS) -o boss $(OFILES) $(LDFLAGS) $(LDLIBS)
X
Xinstall: boss $(MAN)/boss.$(MANEXT)
X	cp boss $(BIN)
X	chmod 755 $(BIN)/boss
X	cp boss.info $(HELPDIR)
X
X$(MAN)/boss.$(MANEXT): boss.man
X	cp -p boss.man $(MAN)/boss.$(MANEXT)
X
Xclean:
X	rm -f *~ *.o *.BAK core
X
X#dependencies
X
Xboss.o: boss_ui.h manifest.h packet.h object.h globals.h
X
Xboss_stubs.o: boss_ui.h
X
Xboss_ui.o: boss_ui.h icons/bosstool.icon icons/bosstool_mask.icon \
X	 icons/phone.icon icons/schedule.icon icons/memo.icon icons/card.icon \
X	 icons/calendar.icon
X
Xcalentool.o: manifest.h calentool.h
X
Xcasio_master.o: manifest.h protocol.h
X
Xcasio_slave.o: manifest.h casio.h protocol.h
X
Xdatabase.o: manifest.h object.h globals.h
X
Xdo_clear.o: boss_ui.h manifest.h object.h globals.h
X
Xdo_load.o: boss_ui.h manifest.h object.h globals.h
X
Xdo_port.o: boss_ui.h manifest.h packet.h object.h globals.h
X
Xdo_schedule.o: boss_ui.h manifest.h object.h globals.h calentool.h
X
Xdo_store.o: boss_ui.h manifest.h object.h globals.h
X
Xexpand.o: manifest.h
X
Xmisc.o: manifest.h
X
Xobject.o: manifest.h record.h object.h
X
Xpacket.o: manifest.h casio.h
X
Xparse.y: manifest.h object.h lex.c
X
Xprint.o: manifest.h object.h
X
Xrecord.o: manifest.h packet.h record.h
X
Xwindow_misc.o: boss_ui.h manifest.h
END_OF_FILE
if test 2099 -ne `wc -c <'Makefile'`; then
    echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(2458 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X			Boss Version 1.0
X
X     Boss lets Casio BOSS users transfer data between their BOSS and
Xa workstation.  Users can also convert BOSS schedule items to formats useful
Xwith other scheduling tools.
X
X     You'll need a Casio PC-LINK cable to connect your BOS to your workstation.
XYou can build this cable yourself for much less than Casio charges; a 
XPostScript file containing a rough schematic is included in the release.
X
X     Boss requires either OpenWindows 2.0 from Sun, or X Windows 11r4 with
Xthe XView 2.0 libraries.
X
X     You should use xmkmf and imake to build this tool.  If you do not have
Ximake, a sample Makefile is included.  Check the Makefile for some site-
Xdependent values before you build boss.  In the Imakefile, make sure that
XOPENWINHOME and HELPDIR are set to your site's OpenWindows installation
Xdirectory and help directories, respectively.
X
X     Please send all bug reports and feature requests my way.  I hope you
Xfind boss useful.
X
XChuck Musciano				ARPA  : chuck@trantor.harris-atd.com
XHarris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
XPO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
XMelbourne, FL 32902			FAX   : (407) 729-2537
X
XA good newspaper is never good enough,
X	but a lousy newspaper is a joy forever.		-- Garrison Keillor
END_OF_FILE
if test 2458 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'calentool.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'calentool.h'\"
else
echo shar: Extracting \"'calentool.h'\" \(1938 characters\)
sed "s/^X//" >'calentool.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	calentool.h	definitions for using calentool files		*/
X/*									*/
X/************************************************************************/
X
X#define		LINE_COMMENT		0
X#define		LINE_APPOINTMENT	1
X#define		LINE_BLANK		2
X
X#define		SUNDAY			-1
X#define		MONDAY			-2
X#define		TUESDAY			-3
X#define		WEDNESDAY		-4
X#define		THURSDAY		-5
X#define		FRIDAY			-6
X#define		SATURDAY		-7
X#define		WILDCARD		-8
X
Xtypedef	struct	c_rec	calen;
X
Xstruct	c_rec	{int	kind;
X		 int	year;
X		 int	month;
X		 int	day;
X		 int	hour;
X		 int	minute;
X		 int	length;
X		 int	repeat;
X		 char	*interval;
X		 char	*warning;
X		 char	*message;
X		 calen	*next;
X		};
X
XPUBLIC	calen	*load_calentool();
END_OF_FILE
if test 1938 -ne `wc -c <'calentool.h'`; then
    echo shar: \"'calentool.h'\" unpacked with wrong size!
fi
# end of 'calentool.h'
fi
if test -f 'casio.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'casio.h'\"
else
echo shar: Extracting \"'casio.h'\" \(1655 characters\)
sed "s/^X//" >'casio.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	casio.h		Definitions for low-level BOSS i/o		*/
X/*									*/
X/************************************************************************/
X
X#define		PACKET_START		':'
X#define		XMIT_TERMINATE		'!'
X#define		RCV_ERROR		'"'
X#define		PACKET_ACK		'#'
X#define		MODE_ERROR		'$'
X
XPUBLIC	int	open_casio();
XPUBLIC	int	read_casio();
XPUBLIC	int	write_casio();
XPUBLIC	int	flush_casio();
X
END_OF_FILE
if test 1655 -ne `wc -c <'casio.h'`; then
    echo shar: \"'casio.h'\" unpacked with wrong size!
fi
# end of 'casio.h'
fi
if test -f 'database.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'database.c'\"
else
echo shar: Extracting \"'database.c'\" \(1865 characters\)
sed "s/^X//" >'database.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	database.c	maintain BOSS object database			*/
X/*									*/
X/************************************************************************/
X
X#include	"manifest.h"
X#include	"object.h"
X#include	"globals.h"
X
XEXPORT	object	*data[MAX_OBJECT_KINDS] = {NULL, NULL, NULL, NULL, NULL};
X
X/************************************************************************/
XEXPORT	add_to_list(obj)
X
Xobject	*obj;
X
X{	object	*o;
X
X	if ((o = data[obj->kind]) == NULL)
X	   data[obj->kind] = obj;
X	else {
X	   while (o->next)
X	      o = o->next;
X	   o->next = obj;
X	   }
X	obj->next = NULL;
X	update_object_count();
X}
END_OF_FILE
if test 1865 -ne `wc -c <'database.c'`; then
    echo shar: \"'database.c'\" unpacked with wrong size!
fi
# end of 'database.c'
fi
if test -f 'do_clear.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'do_clear.c'\"
else
echo shar: Extracting \"'do_clear.c'\" \(2569 characters\)
sed "s/^X//" >'do_clear.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	do_clear	clear Casio data				*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<sys/param.h>
X#include	<sys/types.h>
X#include	<xview/xview.h>
X#include	<xview/panel.h>
X#include	"boss_ui.h"
X
X#include	"manifest.h"
X#include	"object.h"
X#include	"globals.h"
X
XPUBLIC	boss_base_objects	*boss_base;
X
XPRIVATE	boss_clear_dialog_objects	*dialog = NULL;
X
X/************************************************************************/
XEXPORT	Menu_item	clear_dialog(item, op)
X
XMenu_item	item;
XMenu_generate	op;
X
X{
X	if (op == MENU_NOTIFY) {
X	   if (dialog == NULL) {
X	      dialog = boss_clear_dialog_objects_initialize(NULL, boss_base->base);
X	      place_dialog(boss_base->base, dialog->clear_dialog);
X	      }
X	   xv_set(dialog->clear_dialog, XV_SHOW, TRUE, NULL);
X	   }
X	return item;
X}
X
X/************************************************************************/
XEXPORT	void	accept_clear(item, event)
X
XPanel_item	item;
XEvent		*event;
X
X{	int	i, which;
X
X	if (which = (int) xv_get(dialog->clear_data, PANEL_VALUE))
X	   for (i = 0; i < MAX_OBJECT_KINDS; i++)
X	      if (which & (1 << i)) {
X	         free_object_list(data[i]);
X	         data[i] = NULL;
X	         }
X	update_object_count();
X	xv_set(item, PANEL_NOTIFY_STATUS, XV_OK, 0);
X}
END_OF_FILE
if test 2569 -ne `wc -c <'do_clear.c'`; then
    echo shar: \"'do_clear.c'\" unpacked with wrong size!
fi
# end of 'do_clear.c'
fi
if test -f 'do_port.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'do_port.c'\"
else
echo shar: Extracting \"'do_port.c'\" \(3139 characters\)
sed "s/^X//" >'do_port.c' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	do_port		handle Casio port attributes			*/
X/*									*/
X/************************************************************************/
X
X#include	<stdio.h>
X#include	<sys/param.h>
X#include	<sys/types.h>
X#include	<xview/xview.h>
X#include	<xview/panel.h>
X#include	"boss_ui.h"
X
X#include	"manifest.h"
X#include	"packet.h"
X#include	"object.h"
X#include	"globals.h"
X
XPUBLIC	boss_base_objects	*boss_base;
X
XPRIVATE	boss_port_dialog_objects	*dialog = NULL;
X
X/************************************************************************/
XPRIVATE	reset_values()
X
X{
X	xv_set(dialog->port_port, PANEL_VALUE, port, NULL);
X	xv_set(dialog->port_baud, PANEL_VALUE, baud_rate, NULL);
X	xv_set(dialog->port_parity, PANEL_VALUE, parity, NULL);
X}
X
X/************************************************************************/
XEXPORT	Menu_item	port_dialog(item, op)
X
XMenu_item	item;
XMenu_generate	op;
X
X{
X	if (op == MENU_NOTIFY) {
X	   if (dialog == NULL) {
X	      dialog = boss_port_dialog_objects_initialize(NULL, boss_base->base);
X	      place_dialog(boss_base->base, dialog->port_dialog);
X	      }
X	   if (xv_get(dialog->port_dialog, XV_SHOW) == FALSE)
X	      reset_values();
X	   xv_set(dialog->port_dialog, XV_SHOW, TRUE, NULL);
X	   }
X	return item;
X}
X
X/************************************************************************/
XEXPORT	void	accept_port(item, event)
X
XPanel_item	item;
XEvent		*event;
X
X{	
X	baud_rate = (int) xv_get(dialog->port_baud, PANEL_VALUE);
X	parity = (int) xv_get(dialog->port_parity, PANEL_VALUE);
X	port = (int) xv_get(dialog->port_port, PANEL_VALUE);
X	port_file = (port == 0)? "/dev/ttya" : "/dev/ttyb";
X	xv_set(item, PANEL_NOTIFY_STATUS, XV_OK, 0);
X}
X
X/************************************************************************/
XEXPORT	void	reset_port(item, event)
X
XPanel_item	item;
XEvent		*event;
X
X{
X	reset_values();
X	xv_set(item, PANEL_NOTIFY_STATUS, XV_ERROR, 0);
X}
X
X
END_OF_FILE
if test 3139 -ne `wc -c <'do_port.c'`; then
    echo shar: \"'do_port.c'\" unpacked with wrong size!
fi
# end of 'do_port.c'
fi
if test -f 'globals.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'globals.h'\"
else
echo shar: Extracting \"'globals.h'\" \(1580 characters\)
sed "s/^X//" >'globals.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	globals		various global data				*/
X/*									*/
X/************************************************************************/
X
XPUBLIC	object	*data[MAX_OBJECT_KINDS];
X
XPUBLIC	int	baud_rate;
XPUBLIC	int	parity;
XPUBLIC	int	port;
XPUBLIC	char	*port_file;
XPUBLIC	char	*casio_file;
XPUBLIC	char	*appts_file;
END_OF_FILE
if test 1580 -ne `wc -c <'globals.h'`; then
    echo shar: \"'globals.h'\" unpacked with wrong size!
fi
# end of 'globals.h'
fi
if test ! -d 'icons' ; then
    echo shar: Creating directory \"'icons'\"
    mkdir 'icons'
fi
if test -f 'icons/bosstool.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/bosstool.icon'\"
else
echo shar: Extracting \"'icons/bosstool.icon'\" \(1933 characters\)
sed "s/^X//" >'icons/bosstool.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x3FFF,0xFFFF,0xFFFF,0xFFFC,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFC0,0x0000,0x0000,0x03FF,0xFFC0,0x0000,0x0000,0x03FF,
X	0xFFDC,0x30C3,0x0800,0x1BFF,0xFFD2,0x4924,0x9E61,0x8BFF,
X	0xFFDC,0x4882,0x0892,0x4BFF,0xFFD2,0x4841,0x0892,0x4BFF,
X	0xFFD2,0x4924,0x8892,0x4BFF,0xFFDC,0x30C3,0x0661,0x8BFF,
X	0xFFC0,0x0000,0x0000,0x03FF,0xFFC0,0x0000,0x0000,0x03FF,
X	0xFFC0,0x0000,0x0000,0x03FF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF842,0x1084,0x21E2,0x223F,
X	0xF842,0x1084,0x21E2,0x223F,0xF842,0x1084,0x21E2,0x223F,
X	0xF842,0x1084,0x21E2,0x223F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xF842,0x1084,0x21FF,0xFFFF,0xF842,0x1084,0x21FA,0xF63F,
X	0xF842,0x1084,0x21E2,0x377F,0xF842,0x1084,0x21FA,0xE37F,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFC44,0x4444,0x4444,0x447F,0xFC44,0x4444,0x4444,0x447F,
X	0xFC44,0x4444,0x4444,0x447F,0xFC44,0x4444,0x4444,0x447F,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF11,0x1111,0x1111,0x11FF,
X	0xFF11,0x1111,0x1111,0x11FF,0xFF11,0x1111,0x1111,0x11FF,
X	0xFF11,0x1111,0x1111,0x11FF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFC44,0x4444,0x4444,0x447F,0xFC44,0x4444,0x4444,0x447F,
X	0xFC44,0x4444,0x4444,0x447F,0xFC44,0x4444,0x4444,0x447F,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFC11,0x1111,0x1111,0x107F,
X	0xFC11,0x1111,0x1111,0x107F,0xFC11,0x1111,0x1111,0x107F,
X	0xFC11,0x1111,0x1111,0x107F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFC44,0x4004,0x4404,0x407F,0xFC44,0x4004,0x4404,0x407F,
X	0xFC44,0x4004,0x4404,0x407F,0xFC44,0x4004,0x4404,0x407F,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,0x3FFF,0xFFFF,0xFFFF,0xFFFC
END_OF_FILE
if test 1933 -ne `wc -c <'icons/bosstool.icon'`; then
    echo shar: \"'icons/bosstool.icon'\" unpacked with wrong size!
fi
# end of 'icons/bosstool.icon'
fi
if test -f 'icons/bosstool_mask.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/bosstool_mask.icon'\"
else
echo shar: Extracting \"'icons/bosstool_mask.icon'\" \(1997 characters\)
sed "s/^X//" >'icons/bosstool_mask.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16
X */
X	0x3FFF,0xFFFF,0xFFFF,0xFFFC,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0xFFFF,0xFFFF,0xFFFF,0xFFFF,
X	0x7FFF,0xFFFF,0xFFFF,0xFFFE,
X	0x3FFF,0xFFFF,0xFFFF,0xFFFC
END_OF_FILE
if test 1997 -ne `wc -c <'icons/bosstool_mask.icon'`; then
    echo shar: \"'icons/bosstool_mask.icon'\" unpacked with wrong size!
fi
# end of 'icons/bosstool_mask.icon'
fi
if test -f 'icons/calendar.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/calendar.icon'\"
else
echo shar: Extracting \"'icons/calendar.icon'\" \(437 characters\)
sed "s/^X//" >'icons/calendar.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=32, Height=24, Depth=1, Valid_bits_per_item=16
X */
X	0x0000,0x007C,0x2222,0x2244,
X	0x3BBB,0xBB44,0x0000,0x0044,
X	0x7FFF,0xFFFC,0x4444,0x4444,
X	0x4444,0x4444,0x4444,0x4444,
X	0x7FFF,0xFFFC,0x4444,0x4444,
X	0x4444,0x4444,0x4444,0x4444,
X	0x7FFF,0xFFFC,0x4444,0x4444,
X	0x4444,0x4444,0x4444,0x4444,
X	0x7FFF,0xFFFC,0x4444,0x4444,
X	0x4444,0x4444,0x4444,0x4444,
X	0x7FFF,0xFFFC,0x4440,0x0000,
X	0x4440,0x0000,0x7FC0,0x0000
END_OF_FILE
if test 437 -ne `wc -c <'icons/calendar.icon'`; then
    echo shar: \"'icons/calendar.icon'\" unpacked with wrong size!
fi
# end of 'icons/calendar.icon'
fi
if test -f 'icons/card.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/card.icon'\"
else
echo shar: Extracting \"'icons/card.icon'\" \(437 characters\)
sed "s/^X//" >'icons/card.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=32, Height=24, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xF000,0x8000,0x1000,
X	0x9200,0x1000,0xBE70,0x1000,
X	0x8FFF,0xFF00,0x8800,0x0100,
X	0x8B00,0x0100,0x8BE0,0x0100,
X	0x98FF,0xFFF0,0xB880,0x0010,
X	0x88A2,0x2010,0xF8BB,0x7810,
X	0x0A8F,0xFFFF,0x0B88,0x0001,
X	0x088A,0x2801,0x0F8B,0xB801,
X	0x00A8,0x0081,0x00B8,0x00ED,
X	0x0088,0x0001,0x00F8,0x0001,
X	0x000B,0x2325,0x000B,0xEF6D,
X	0x0008,0x0001,0x000F,0xFFFF
END_OF_FILE
if test 437 -ne `wc -c <'icons/card.icon'`; then
    echo shar: \"'icons/card.icon'\" unpacked with wrong size!
fi
# end of 'icons/card.icon'
fi
if test -f 'icons/memo.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/memo.icon'\"
else
echo shar: Extracting \"'icons/memo.icon'\" \(437 characters\)
sed "s/^X//" >'icons/memo.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=32, Height=24, Depth=1, Valid_bits_per_item=16
X */
X	0xFFFF,0xFFFF,0x8000,0x0001,
X	0xB818,0x1001,0x9014,0x1001,
X	0x9214,0x9001,0x9515,0x4001,
X	0x9218,0x9001,0x8000,0x0001,
X	0x8000,0x0001,0x8000,0x0001,
X	0x9080,0x1001,0x9DDD,0xBBF1,
X	0x8004,0x0221,0x9080,0x0001,
X	0x9EFD,0xDF01,0x8008,0x1101,
X	0x9010,0x0001,0x9F77,0xB779,
X	0x8000,0x0001,0x8000,0x0001,
X	0x8000,0x0001,0x8000,0x0001,
X	0xAAAA,0xAAAA,0x5555,0x5554
END_OF_FILE
if test 437 -ne `wc -c <'icons/memo.icon'`; then
    echo shar: \"'icons/memo.icon'\" unpacked with wrong size!
fi
# end of 'icons/memo.icon'
fi
if test -f 'icons/phone.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/phone.icon'\"
else
echo shar: Extracting \"'icons/phone.icon'\" \(437 characters\)
sed "s/^X//" >'icons/phone.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=32, Height=24, Depth=1, Valid_bits_per_item=16
X */
X	0x0FFF,0xFFF0,0x3000,0x000C,
X	0x4000,0x0002,0x4030,0x0C02,
X	0x807F,0xFE01,0x80B0,0x0D01,
X	0x83FF,0xFFC1,0x8400,0x0021,
X	0x7C0D,0xB03E,0x040D,0xB020,
X	0x0400,0x0020,0x040D,0xB020,
X	0x040D,0xB020,0x0400,0x0020,
X	0x040D,0xB020,0x040D,0xB020,
X	0x0400,0x0020,0x0400,0x0020,
X	0x05FF,0xFFA0,0x0400,0x0020,
X	0x0400,0x0020,0x0400,0x0020,
X	0x0400,0x0020,0x03FF,0xFFC0
END_OF_FILE
if test 437 -ne `wc -c <'icons/phone.icon'`; then
    echo shar: \"'icons/phone.icon'\" unpacked with wrong size!
fi
# end of 'icons/phone.icon'
fi
if test -f 'icons/schedule.icon' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'icons/schedule.icon'\"
else
echo shar: Extracting \"'icons/schedule.icon'\" \(437 characters\)
sed "s/^X//" >'icons/schedule.icon' <<'END_OF_FILE'
X/* Format_version=1, Width=32, Height=24, Depth=1, Valid_bits_per_item=16
X */
X	0x7FFE,0x7FFE,0x8001,0x8001,
X	0xB101,0xB301,0x8ABD,0x893D,
X	0x9281,0x9101,0x8A81,0x8901,
X	0xB13D,0xB3BD,0x8001,0x8001,
X	0x8001,0x8001,0xBFFD,0xBFFD,
X	0x8001,0x8001,0x8001,0x8001,
X	0xBFFD,0xBFFD,0x8001,0x8001,
X	0x8001,0x8001,0xBFFD,0xBFFD,
X	0x8001,0x8001,0x8001,0x8001,
X	0xBFFD,0xBFFD,0x8001,0x8001,
X	0x8001,0x8001,0xBFFD,0xBFFD,
X	0x8001,0x8001,0x7FFE,0x7FFE
END_OF_FILE
if test 437 -ne `wc -c <'icons/schedule.icon'`; then
    echo shar: \"'icons/schedule.icon'\" unpacked with wrong size!
fi
# end of 'icons/schedule.icon'
fi
if test -f 'manifest.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'manifest.h'\"
else
echo shar: Extracting \"'manifest.h'\" \(1999 characters\)
sed "s/^X//" >'manifest.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	Various manifest definitions					*/
X/*									*/
X/************************************************************************/
X
X#define		strsave(x)	((char *) strcpy(malloc(strlen(x) + 1), x))
X
X#define		PRIVATE		static
X#define		PUBLIC		extern
X#define		EXPORT
X
X#ifndef	TRUE
X#define		TRUE		1
X#define		FALSE		0
X#endif
X
X#ifndef	NULL
X#define		NULL		0
X#endif
X
X#define		INVALID_TIME	255
X
X#define		CASIO_END_LINE	'\015'
X#define		CASIO_END_ENTRY	'\012'
X
Xtypedef	unsigned	char	byte;
Xtypedef	unsigned	short	word;
X
Xtypedef	struct	t_rec	time;
Xtypedef	struct	d_rec	date;
X
Xstruct	t_rec	{byte	hour;
X		 byte	minute;
X		};
X
Xstruct	d_rec	{word	year;
X		 byte	month;
X		 byte	day;
X		};
X
XPUBLIC	long	ascii_to_long();
XPUBLIC	char	**tokenize();
END_OF_FILE
if test 1999 -ne `wc -c <'manifest.h'`; then
    echo shar: \"'manifest.h'\" unpacked with wrong size!
fi
# end of 'manifest.h'
fi
if test -f 'object.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'object.h'\"
else
echo shar: Extracting \"'object.h'\" \(2931 characters\)
sed "s/^X//" >'object.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	Definition of an internal BOSS object				*/
X/*									*/
X/************************************************************************/
X
X#define		MAX_FIELDS		15
X#define		MAX_OBJECT_DATA		385
X
X#define		OBJ_TELEPHONE		0
X#define		OBJ_SCHEDULE		1
X#define		OBJ_MEMO		2
X#define		OBJ_CARD		3
X#define		OBJ_CALENDAR		4
X#define		MAX_OBJECT_KINDS	5
X
X#define		pho_name		field[0]
X#define		pho_number		field[1]
X#define		pho_address		field[2]
X#define		pho_extra_1		field[3]
X#define		pho_extra_2		field[4]
X#define		pho_extra_3		field[5]
X#define		pho_extra_4		field[6]
X#define		pho_extra_5		field[7]
X#define		pho_extra_6		field[8]
X
X#define		sch_memo		field[0]
X
X#define		mem_memo		field[0]
X
X#define		car_employer		field[0]
X#define		car_name		field[1]
X#define		car_number		field[2]
X#define		car_position		field[3]
X#define		car_department		field[4]
X#define		car_pobox		field[5]
X#define		car_address		field[6]
X#define		car_telex		field[7]
X#define		car_fax			field[8]
X#define		car_extra_1		field[9]
X#define		car_extra_2		field[10]
X#define		car_extra_3		field[11]
X#define		car_extra_4		field[12]
X#define		car_extra_5		field[13]
X#define		car_extra_6		field[14]
X
Xtypedef	struct	o_rec	object;
X
Xstruct	o_rec	{int	kind;
X		 int	from_casio;
X		 byte	*buf;
X		 byte	*field[MAX_FIELDS + 1];
X		 byte	marked;
X		 date	sch_date;
X		 time	sch_start_time;
X		 time	sch_stop_time;
X		 time	sch_alarm_time;
X		 date	cal_date;
X		 long	cal_marked;
X		 object	*next;
X		};
X
XPUBLIC	object	*create_object();
XPUBLIC	object	*record_to_object();
XPUBLIC	object	*text_to_object();
XPUBLIC	object	*receive_object();
XPUBLIC	int	send_object();
X
XPUBLIC	object	*parsed_object_list;
XPUBLIC	int	parse_errors_occured;
END_OF_FILE
if test 2931 -ne `wc -c <'object.h'`; then
    echo shar: \"'object.h'\" unpacked with wrong size!
fi
# end of 'object.h'
fi
if test -f 'packet.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'packet.h'\"
else
echo shar: Extracting \"'packet.h'\" \(1761 characters\)
sed "s/^X//" >'packet.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	Defintions for interfacing to the BOSS at the packet level	*/
X/*									*/
X/************************************************************************/
X
X#define		EVEN_PARITY		0
X#define		ODD_PARITY		1
X#define		NO_PARITY		2
X
X#define		BAUD_1200		0
X#define		BAUD_2400		1
X#define		BAUD_4800		2
X#define		BAUD_9600		3
X
X#define		PORT_TTYA		0
X#define		PORT_TTYB		1
X
XPUBLIC	int	start_session();
XPUBLIC	int	send_packet();
XPUBLIC	int	receive_packet();
XPUBLIC	int	wait_for_acknowledgement();
END_OF_FILE
if test 1761 -ne `wc -c <'packet.h'`; then
    echo shar: \"'packet.h'\" unpacked with wrong size!
fi
# end of 'packet.h'
fi
if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patchlevel.h'\"
else
echo shar: Extracting \"'patchlevel.h'\" \(1406 characters\)
sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	0	15 Oct 90	Initial release				*/
X/*									*/
X/************************************************************************/
END_OF_FILE
if test 1406 -ne `wc -c <'patchlevel.h'`; then
    echo shar: \"'patchlevel.h'\" unpacked with wrong size!
fi
# end of 'patchlevel.h'
fi
if test -f 'protocol.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'protocol.h'\"
else
echo shar: Extracting \"'protocol.h'\" \(1635 characters\)
sed "s/^X//" >'protocol.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	protocol.h	i/o protocol between Casio master and slave	*/
X/*									*/
X/************************************************************************/
X
X#define		OPEN_CASIO		0
X#define		CLOSE_CASIO		1
X#define		READ_CASIO		2
X#define		WRITE_CASIO		3
X#define		ENABLE_FLOW_CONTROL	4
X#define		DISABLE_FLOW_CONTROL	5
X#define		FLUSH_CASIO		6
X#define		UNGET_BYTE		7
END_OF_FILE
if test 1635 -ne `wc -c <'protocol.h'`; then
    echo shar: \"'protocol.h'\" unpacked with wrong size!
fi
# end of 'protocol.h'
fi
if test -f 'record.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'record.h'\"
else
echo shar: Extracting \"'record.h'\" \(2834 characters\)
sed "s/^X//" >'record.h' <<'END_OF_FILE'
X/************************************************************************/
X/*	Copyright 1990 by Chuck Musciano and Harris Corporation		*/
X/*									*/
X/*	Permission to use, copy, modify, and distribute this software	*/
X/*	and its documentation for any purpose and without fee is	*/
X/*	hereby granted, provided that the above copyright notice	*/
X/*	appear in all copies and that both that copyright notice and	*/
X/*	this permission notice appear in supporting documentation, and	*/
X/*	that the name of Chuck Musciano and Harris Corporation not be	*/
X/*	used in advertising or publicity pertaining to distribution	*/
X/*	of the software without specific, written prior permission.	*/
X/*	Chuck Musciano and Harris Corporation make no representations	*/
X/*	about the suitability of this software for any purpose.  It is	*/
X/*	provided "as is" without express or implied warranty.		*/
X/*									*/
X/*	This code contains data and information that is proprietary	*/
X/*	to Casio Corporation.  You may be subject to legal action if	*/
X/*	this information is released without explicit permission from	*/
X/*	Casio.								*/
X/************************************************************************/
X
X/************************************************************************/
X/*									*/
X/*	Definition of an internal BOSS record				*/
X/*									*/
X/************************************************************************/
X
X#define		MAX_DATA_LENGTH		255
X
X/* the four kinds of records the BOSS understands */
X#define		REC_DATA		0x00
X#define		REC_REGISTER		0x01
X#define		REC_MODE		0x02
X#define		REC_EXIT		0xff
X
X/* address mask for the various kinds of data records */
X#define		REC_DATA_DATA		0x8000
X#define		REC_DATA_ALARM		0xc000
X#define		REC_DATA_BINARY		0xd000
X#define		REC_DATA_TIME		0xe000
X#define		REC_DATA_DATE		0xf000
X
X#define		REC_DATA_MASK		0xf000
X#define		address_kind(x)		((x) & REC_DATA_MASK)
X#define		address_start(x)	((x) & ~REC_DATA_MASK)
X
X/* address mask for the various kinds of register records */
X#define		REC_REGISTER_NORMAL	0x0000
X#define		REC_REGISTER_MARKED	0x8000
X
X/* valid data for the mode record */
X#define		REC_MODE_CALENDAR	0x8000
X#define		REC_MODE_TELEPHONE	0x9000
X#define		REC_MODE_MEMO		0xa000
X#define		REC_MODE_SCHEDULE	0xb000
X#define		REC_MODE_CARD		0xc000
X#define		REC_MODE_INVALID	0xffff
X
X#define		length			u.h.l
X#define		address			u.h.a
X#define		type			u.h.t
X
Xtypedef	struct	r_rec	record;
X
Xstruct	hack	{unsigned	l : 8;
X		 unsigned	a : 16;
X		 unsigned	t : 8;
X		};
X
Xstruct	r_rec	{union	{struct	hack	h;
X			 int		i;
X			} u;
X		 byte	data[MAX_DATA_LENGTH];
X		 record	*next;
X		};
X
XPUBLIC	record	*create_record();
XPUBLIC	record	*object_to_record();
XPUBLIC	int	send_record();
XPUBLIC	record	*receive_record();
XPUBLIC	record	*make_mode_record();
XPUBLIC	record	*make_time_record();
XPUBLIC	record	*make_date_record();
END_OF_FILE
if test 2834 -ne `wc -c <'record.h'`; then
    echo shar: \"'record.h'\" unpacked with wrong size!
fi
# end of 'record.h'
fi
echo shar: End of archive 1 \(of 6\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 6 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

Chuck Musciano				ARPA  : chuck@trantor.harris-atd.com
Harris Corporation 			Usenet: ...!uunet!x102a!trantor!chuck
PO Box 37, MS 3A/1912			AT&T  : (407) 727-6131
Melbourne, FL 32902			FAX   : (407) 729-2537

A good newspaper is never good enough,
	but a lousy newspaper is a joy forever.		-- Garrison Keillor