aboutsummaryrefslogtreecommitdiffstats
path: root/datalink.h
diff options
context:
space:
mode:
Diffstat (limited to 'datalink.h')
-rw-r--r--datalink.h266
1 files changed, 266 insertions, 0 deletions
diff --git a/datalink.h b/datalink.h
new file mode 100644
index 0000000..ab6f2d7
--- /dev/null
+++ b/datalink.h
@@ -0,0 +1,266 @@
+/*
+ * Copyright 1996-2002 - Karl R. Hakimian and David Fries
+ *
+ * This file is part of datalink.
+ *
+ * Datalink 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.
+ *
+ * Datalink 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 datalink (see COPYING); if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifndef __DATALINK_H__
+#define __DATALINK_H__
+
+typedef struct time_s
+{
+ unsigned char tz_num;
+ unsigned char hours;
+ unsigned char minutes;
+ unsigned char seconds;
+ unsigned char month;
+ unsigned char day;
+ unsigned char year;
+ unsigned char dow; /* Day Of the Week */
+ unsigned char hour_fmt;
+ unsigned char date_fmt;
+ unsigned char download;
+ int offset;
+ char *label;
+} Time, *TimePtr;
+
+typedef struct alarm_s
+{
+ unsigned char alarm_num;
+ unsigned char hours;
+ unsigned char minutes;
+ unsigned char month;
+ unsigned char day;
+ char *label;
+ unsigned char audible;
+} Alarm, *AlarmPtr;
+
+typedef struct chron_s
+{
+ unsigned char chron_laps;
+ int memused;
+ char *label;
+} Chron, *ChronPtr;
+
+typedef struct timer_s
+{
+ unsigned char timer_num;
+ unsigned char hours;
+ unsigned char minutes;
+ unsigned char second;
+ unsigned char repeat;
+ unsigned char chron;
+ char *label;
+} Timer, *TimerPtr;
+
+typedef struct system_s
+{
+ unsigned char chime;
+ unsigned char beep;
+} System, *SystemPtr;
+
+typedef struct appointment_s
+{
+ unsigned char month;
+ unsigned char day;
+ unsigned char time;
+ char *label;
+} Appointment, *AppointmentPtr;
+
+typedef struct phone_s
+{
+ char *number;
+ char *label;
+} Phone, *PhonePtr;
+
+typedef struct todo_s
+{
+ unsigned char priority;
+ char *label;
+} ToDo, *ToDoPtr;
+
+typedef struct anniversary_s
+{
+ unsigned char month;
+ unsigned char day;
+ char *label;
+} Anniversary, *AnniversaryPtr;
+
+typedef struct wristapp_s
+{
+ int len;
+ unsigned char *data;
+} WristApp, *WristAppPtr;
+
+typedef struct melody_s
+{
+ int len;
+ unsigned char *data;
+} Melody, *MelodyPtr;
+
+typedef struct item_s
+{
+ struct item_s *next;
+ int type;
+ union
+ {
+ Time time;
+ Alarm alarm;
+ Chron chron;
+ Timer timer;
+ System sys;
+ Appointment app;
+ Phone phone;
+ ToDo todo;
+ Anniversary anniv;
+ System system;
+ WristApp wristapp;
+ Melody melody;
+ }
+ data;
+}
+Item, *ItemPtr;
+
+typedef struct list_s
+{
+ ItemPtr first;
+ ItemPtr last;
+ int download;
+ int count;
+} List, *ListPtr;
+
+typedef struct watch_info_s
+{
+ int dl_device; /* Device to download to. */
+ int max_tz;
+ int max_alarms;
+ int max_apps;
+ int max_chrons;
+ int max_phones;
+ int max_timers;
+ int max_todos;
+ int max_annivs;
+ int max_system;
+ int max_wristapp;
+ int max_melody;
+ int max_tzlen;
+ int max_mem; /* Memory available. */
+ int mem_size; /* Memory used. */
+ int max_str; /* Max string length for this device. */
+ int max_alarm_str; /* Max string length for an alarm on this device. */
+ int max_chron_str; /* Max string length for the cron on this device. */
+ int max_phone_str; /* Max string length for a phone on this device. */
+ int max_timer_str; /* Max string length for the timer on this device. */
+ int max_wristapp_len;
+ int max_mel_len;
+ int pre_notification_time;
+ int time_adjust;
+ List times;
+ List alarms;
+ List chron;
+ List timers;
+ List system;
+ List apps;
+ List phones;
+ List todos;
+ List annivs;
+ List wristapp;
+ List melody;
+} WatchInfo, *WatchInfoPtr;
+
+/* defines */
+
+#ifndef NULL
+#define NULL 0l
+#endif
+
+/* Item types */
+#define DL_NO_TYPE 0
+#define DL_TIME_TYPE 1
+#define DL_ALARM_TYPE 2
+#define DL_APP_TYPE 3
+#define DL_PHONE_TYPE 4
+#define DL_TODO_TYPE 5
+#define DL_ANNIV_TYPE 6
+#define DL_SYSTEM_TYPE 7
+#define DL_WRISTAPP_TYPE 8
+#define DL_MELODY_TYPE 9
+#define DL_TIMER_TYPE 10
+#define DL_CHRON_TYPE 11
+#define DL_MAX_TYPE 12
+
+/* Output types */
+#define NO_OUTPUT 0
+#define SVGA_BLINK 1
+#define SER_BLINK 2
+#define BLINK_FILE 3
+
+/* Watch types */
+#define NO_WATCH 0
+#define DATALINK_70 1
+#define DATALINK_150 2
+#define DATALINK_150S 3
+#define DATALINK_IRONMAN 4
+
+#define DEF_LPTRANSINFO 1
+
+extern int (*dl_error_proc) (char *);
+extern int (*dl_warn_proc) (char *);
+
+/* Function definitions. */
+
+void dl_add_to_list(ListPtr, ItemPtr);
+int dl_anniv_by_date(ItemPtr, ItemPtr);
+int dl_anniv_by_label(ItemPtr, ItemPtr);
+int dl_app_by_datetime(ItemPtr, ItemPtr);
+int dl_app_by_label(ItemPtr, ItemPtr);
+unsigned short int dl_docrc(unsigned char *);
+void dl_fill_pack_ascii(unsigned char *, unsigned char *, int, char);
+void dl_free_download(void);
+int dl_init_download(WatchInfoPtr, ListPtr, ListPtr, ListPtr, ListPtr,
+ ListPtr, ListPtr, ListPtr, ListPtr, ListPtr, ListPtr,
+ ListPtr);
+WatchInfoPtr dl_init_watch(int);
+int dl_item_ok(WatchInfoPtr, ItemPtr);
+ItemPtr dl_new_item(WatchInfoPtr, int);
+ListPtr dl_new_list(void);
+int dl_pack_ascii(unsigned char *, unsigned char *);
+int dl_pack_char(char);
+int dl_pack_digit(char);
+void dl_pack_phone(unsigned char *, unsigned char *, int);
+int dl_pack_size(char *);
+int dl_phone_by_label(ItemPtr, ItemPtr);
+WatchInfoPtr dl_read_save(char *, int, ListPtr *, ListPtr *, ListPtr *,
+ ListPtr *, ListPtr *, ListPtr *, ListPtr *,
+ ListPtr *, ListPtr *, ListPtr *, ListPtr *);
+int dl_send_data(WatchInfoPtr, int);
+void dl_set_error(int (*)());
+void dl_set_warn(int (*)());
+int dl_sizeof_item(WatchInfoPtr, ItemPtr);
+int dl_sizeof_list(WatchInfoPtr, ListPtr);
+int dl_sort(ListPtr, int (*)());
+int dl_string_ok(char *, int);
+int dl_todo_by_label(ItemPtr, ItemPtr);
+int dl_todo_by_prio(ItemPtr, ItemPtr);
+int dl_write_save(char *, char *, char *);
+
+int open_vt();
+void close_vt(int oldvt);
+int send_data(int type, unsigned char **packets, int npckts);
+
+#endif /* __DATALINK_H__ */