summaryrefslogtreecommitdiffstats
path: root/debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c')
-rw-r--r--debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c126
1 files changed, 126 insertions, 0 deletions
diff --git a/debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c b/debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c
new file mode 100644
index 00000000..711c3d4e
--- /dev/null
+++ b/debian/pilot-link/pilot-link-0.12.5-dfsg/libpisock/connect.c
@@ -0,0 +1,126 @@
+/*
+ * $Id: connect.c,v 1.60 2006/10/12 14:21:22 desrod Exp $
+ *
+ * connect.c: Palm Serial, USB, IR connection routines
+ *
+ * Copyright (c) 2001, David A. Desrosiers
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#ifdef HAVE_IFADDRS_H
+#include <ifaddrs.h>
+#endif
+#include <unistd.h>
+#include <sys/stat.h>
+
+#include "pi-socket.h"
+#include "pi-dlp.h"
+#include "pi-header.h"
+
+/***********************************************************************
+ *
+ * Function: pilot_connect [DEPRECATED]
+ *
+ * Summary: Connect to a Palm device.
+ *
+ * Parameters: port. Communications port through which the Palm device is
+ * connected.
+ *
+ * Returns: Socket descriptor of type 'client_sd', if successful.
+ * Returns 1, if the connection can not be established.
+ *
+ * 'port' is allowed to be NULL for the pi_bind call because pi_bind will
+ * check your PILOTPORT environment variable. If port is NULL and the
+ * attempt to connect fails for any reason, we simply assume the user didn't
+ * provide one, because pilot_connect doesn't have a way of knowing, for the
+ * time being.
+ *
+ * This function is deprecated because it doesn't really belong in libpisock.
+ * It will remain at least until it has been properly replaced.
+ *
+ ***********************************************************************/
+int
+pilot_connect(const char *port)
+{
+ int sd = -1, /* Socket, formerly parent/client_socket */
+ result;
+
+ struct SysInfo sys_info;
+
+ fprintf(stderr, "\n");
+ fprintf(stderr," DEPRECATED: The application is calling pilot_connect()\n");
+ if ((sd = pi_socket(PI_AF_PILOT,
+ PI_SOCK_STREAM, PI_PF_DLP)) < 0) {
+ fprintf(stderr, "\n Unable to create socket '%s'\n", port);
+ return -1;
+ }
+
+ result = pi_bind(sd, port);
+
+ if (result < 0) {
+ if (port == NULL)
+ fprintf(stderr, " No port specified\n");
+ else
+ fprintf(stderr, " Unable to bind to port: %s\n", port);
+
+ fprintf(stderr, " Please use --help for more information\n\n");
+ return result;
+ }
+
+ if (isatty(fileno(stdout))) {
+ printf("\n Listening for incoming connection on %s... ",
+ port);
+ fflush(stdout);
+ }
+
+ if (pi_listen(sd, 1) < 0) {
+ fprintf(stderr, "\n Error listening on %s\n", port);
+ pi_close(sd);
+ return -1;
+ }
+
+ sd = pi_accept(sd, 0, 0);
+ if (sd < 0) {
+ fprintf(stderr, "\n Error accepting data on %s\n", port);
+ pi_close(sd);
+ return -1;
+ }
+
+ if (isatty(fileno(stdout))) {
+ printf("connected!\n\n");
+ }
+
+ if (dlp_ReadSysInfo(sd, &sys_info) < 0) {
+ fprintf(stderr, "\n Error read system info on %s\n", port);
+ pi_close(sd);
+ return -1;
+ }
+
+ dlp_OpenConduit(sd);
+ return sd;
+}
+
+/* vi: set ts=8 sw=4 sts=4 noexpandtab: cin */
+/* ex: set tabstop=4 expandtab: */
+/* Local Variables: */
+/* indent-tabs-mode: t */
+/* c-basic-offset: 8 */
+/* End: */