aboutsummaryrefslogtreecommitdiffstats
path: root/comms/asmodem/files/patch-aa
blob: 511061c8c79bf6ca5bbab4934d15b1742c5ce343 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
--- asmodem.c.orig  Sun Oct  4 12:56:57 1998
+++ asmodem.c   Sat Sep  7 20:40:13 2002
@@ -25,9 +25,8 @@
 #include <sys/socket.h>
 #include <net/if.h>
 
-#include <asm/types.h>
-#include <linux/types.h>
-#include <linux/ppp_defs.h>
+#include <sys/types.h>
+#include <net/if_ppp.h>
 
 
 /* XPM struct and icons ******************************************************/
@@ -63,7 +62,7 @@
 #define DEFINTERVAL 3      /* Default interval 2 sec */
 #define TRUE 1;
 #define FALSE 0;
-#define DEFAULTMODEM "/var/lock/LCK..modem"
+#define DEFAULTMODEM "/var/run/cuaa1.if"
 
 int    withdrawn= FALSE;
 Display    *Disp;   
@@ -114,8 +113,8 @@
    fprintf(stderr,"options:\n");
         fprintf(stderr,"        -w               withdrawn mode (For WindowMaker's Dock)\n");  
    fprintf(stderr,"        -s               transparent edge mode\n");
-   fprintf(stderr,"        -m <file>        modem lockfile (ie /var/lock/LCK..cua1) \n");
-        fprintf(stderr,"            default is /var/lock/LCK..modem (/dev/modem) \n");
+   fprintf(stderr,"        -m <file>        modem lockfile (ie /var/lock/LCK..modem) \n");
+        fprintf(stderr,"            default is /var/run/cuaa1.if \n");
    fprintf(stderr,"        -u <sec>         update frequency (default 5 sec)\n");  
    fprintf(stderr,"        -p [+|-]x[+|-]y  position of asmodem\n");
    fprintf(stderr,"        -d <program>     program to execute on click while disconnected (dial?)\n");
@@ -298,7 +297,7 @@
 {
    XEvent Event;            
    XpmIcon Prev;
-   struct  ifreq     ifreq;
+   struct  ifpppstatsreq     ifreq;
    struct  ppp_stats stats;
    int     rb, tb;
                  
@@ -315,12 +314,12 @@
        //fprintf(stderr, "x ");
        if (CarrierOn) {
            memset(&ifreq, 0, sizeof(ifreq));
-           strcpy(ifreq.ifr_ifrn.ifrn_name, "ppp0");
-           ifreq.ifr_ifru.ifru_data = (caddr_t)&stats;
-           if ((ioctl(sock,SIOCDEVPRIVATE,(caddr_t)&ifreq) < 0)){
+           strcpy(ifreq.ifr_name, "ppp0");
+           if ((ioctl(sock,SIOCGPPPSTATS,&ifreq) < 0)){
                fprintf(stderr, "asmodem: ioctl f*cked\n");
                prb = ptb = 0;
            } else {
+               stats = ifreq.stats;
                rb = stats.p.ppp_ibytes;
                tb = stats.p.ppp_obytes;
                if (rb > prb) {
@@ -409,7 +408,7 @@
    int WasStatus = 1;
    int NewMailn = 0;
 
-   MailFile = fopen(Mbox, "r");
+/* MailFile = fopen(Mbox, "r");
 
    while(!feof(MailFile))
    {
@@ -425,6 +424,8 @@
    fclose(MailFile);
 
    return (NewMailn||!WasStatus);
+*/
+   return 0;
 }
 
 /****************************************************************************/
@@ -433,7 +434,7 @@
    FILE* MailFile = 0;
    int Ret = 0;            
 
-   MailFile = fopen(Mbox, "r");    
+/* MailFile = fopen(Mbox, "r");    
    if(MailFile == 0)
        Ret = 0;
    else
@@ -447,6 +448,14 @@
    }
 
    return Ret;    
+*/
+
+   if ((MailFile=fopen(Mbox,"r"))==NULL)
+     return 0;
+   else {
+     fclose(MailFile);
+     return 1;
+   }   
 }
 
 /****************************************************************************/