regular status reporting disabled back again
[gnokii.git] / common / data / virtmodem.c
index 664127f..c421fd1 100644 (file)
@@ -51,6 +51,9 @@
 
        /* Global variables */
 
 
        /* Global variables */
 
+
+#define GNOKII_DEV "/var/gnokii-dev"
+
 //extern bool TerminateThread;
 
        /* Local variables */
 //extern bool TerminateThread;
 
        /* Local variables */
@@ -61,7 +64,6 @@ int           PtyWRFD;        /* pty interface - only different in debug mode. */
 static bool    UseSTDIO;       /* Use STDIO for debugging purposes instead of pty */
 bool   CommandMode;
 
 static bool    UseSTDIO;       /* Use STDIO for debugging purposes instead of pty */
 bool   CommandMode;
 
-static bool    VM_ThreadLoop(void);
 static GSM_Error       VM_GSMInitialise(char *model, char *port, char *initlength, GSM_ConnectionType connection, char *synchronizetime);
 static int             VM_PtySetup(char *bindir);
 
 static GSM_Error       VM_GSMInitialise(char *model, char *port, char *initlength, GSM_ConnectionType connection, char *synchronizetime);
 static int             VM_PtySetup(char *bindir);
 
@@ -105,13 +107,18 @@ bool VM_Initialise(char *model,char *port, char *initlength, GSM_ConnectionType
                return (false);
        }
 
                return (false);
        }
 
+#ifndef UCLINUX
        /* Create and start thread, */
        return VM_ThreadLoop();
        /* Create and start thread, */
        return VM_ThreadLoop();
+#else
+       return true;
+#endif
 }
 
 static void    VM_CharHandler(void);
 }
 
 static void    VM_CharHandler(void);
+extern GSM_Error N6110_SendStatusRequest(void);
 
 
-static bool VM_ThreadLoop(void)
+bool VM_ThreadLoop(void)
 {
        int res;
        fd_set readfds;
 {
        int res;
        fd_set readfds;
@@ -129,16 +136,21 @@ static bool VM_ThreadLoop(void)
 
                FD_ZERO(&readfds);
                FD_SET(PtyRDFD,&readfds);
 
                FD_ZERO(&readfds);
                FD_SET(PtyRDFD,&readfds);
-               timeout.tv_sec=0;
-               timeout.tv_usec=500*1000;
+               timeout.tv_sec=2;
+               timeout.tv_usec=0;/*500*1000;*/
 
                res = select(PtyRDFD+1,&readfds,NULL/*writefds*/,NULL/*exceptfds*/,&timeout);
 
                switch (res) {
                        case 0: /* Timeout */
 
                res = select(PtyRDFD+1,&readfds,NULL/*writefds*/,NULL/*exceptfds*/,&timeout);
 
                switch (res) {
                        case 0: /* Timeout */
+#if 0
+                               N6110_SendStatusRequest();
+#endif
                                break;
 
                        case -1:
                                break;
 
                        case -1:
+                               if (errno==EINTR)
+                                       continue;
                                perror("VM_ThreadLoop - select");
                                return (false);
 
                                perror("VM_ThreadLoop - select");
                                return (false);
 
@@ -210,13 +222,13 @@ static int                VM_PtySetup(char *bindir)
 #endif
 
 #ifdef DEBUG
 #endif
 
 #ifdef DEBUG
-       fprintf (stderr, _("Slave pty is %s, calling %s to create /dev/gnokii.\n"), slave_name,
+       fprintf (stderr, _("Slave pty is %s, calling %s to create \"%s\".\n"), slave_name,
 #ifndef UCLINUX
                        mgnokiidev
 #else /* UCLINUX */
                        "<uClinux>"
 #endif /* UCLINUX */
 #ifndef UCLINUX
                        mgnokiidev
 #else /* UCLINUX */
                        "<uClinux>"
 #endif /* UCLINUX */
-                       );
+                       ,GNOKII_DEV);
 #endif /* DEBUG */
 
 #ifndef UCLINUX
 #endif /* DEBUG */
 
 #ifndef UCLINUX
@@ -228,10 +240,10 @@ static int                VM_PtySetup(char *bindir)
 #else /* UCLINUX */
 
        /* Remove symlink in case it already exists. Don't care if it fails.  */
 #else /* UCLINUX */
 
        /* Remove symlink in case it already exists. Don't care if it fails.  */
-       unlink ("/dev/gnokii");
+       unlink (GNOKII_DEV);
 
        /* Create symlink */
 
        /* Create symlink */
-       err = symlink(slave_name, "/dev/gnokii");
+       err = symlink(slave_name, GNOKII_DEV);
 
 #endif /* UCLINUX */
        
 
 #endif /* UCLINUX */