+struct event_line_t
+{
+ int connection;
+ long time_sec;
+ long time_usec;
+ int progress;
+ int event;
+ char zoom_event[128];
+ int error;
+ char errmsg[128];
+};
+
+
+void print_event_line(struct event_line_t *pel)
+{
+ printf ("%d\t%ld.%06ld\t%d\t%d\t%s\t%d\t%s\n",
+ pel->connection, pel->time_sec, pel->time_usec,
+ pel->progress,
+ pel->event, pel->zoom_event,
+ pel->error, pel->errmsg);
+}
+
+//void update_event_line(struct event_line_t *pel,
+// int conn,
+// long sec,
+// long usec,
+// int prog,
+// int event,
+// const char * eventmsg,
+// int error,
+// const char * errmsg)
+//{
+// pel->connection = conn;
+// pel->time_sec = sec;
+// pel->time_usec = usec;
+// pel->progress = prog;
+// pel->event = event;
+// strcpy(pel->zoom_event, eventmsg);
+// pel->error = error;
+// strcpy(pel->errmsg, errmsg);
+//}
+
+void update_events(int *elc, struct event_line_t *els,
+ int conn,
+ long sec,
+ long usec,
+ int prog,
+ int event,
+ const char * eventmsg,
+ int error,
+ const char * errmsg){
+
+ els[conn * 10 + elc[conn]].connection = conn;
+ els[conn * 10 + elc[conn]].time_sec = sec;
+ els[conn * 10 + elc[conn]].time_usec = usec;
+ els[conn * 10 + elc[conn]].progress = prog;
+ els[conn * 10 + elc[conn]].event = event;
+ strcpy(els[conn * 10 + elc[conn]].zoom_event, eventmsg);
+ els[conn * 10 + elc[conn]].error = error;
+ strcpy(els[conn * 10 + elc[conn]].errmsg, errmsg);
+
+ //print_event_line(&els[conn*10 + elc[conn]]);
+
+ elc[conn] += 1;
+}
+
+void print_events(int *elc, struct event_line_t *els,
+ int connections){
+ int i;
+ int j;
+ for (i=0; i < connections; i++){
+ for (j=0; j < elc[i]; j++){
+ print_event_line(&els[i*10 + j]);
+ }
+ printf("\n");
+ }
+}
+
+