--- asmodem.c.orig Sun Oct 4 12:56:57 1998 +++ asmodem.c Sat Sep 7 20:40:13 2002 @@ -25,9 +25,8 @@ #include #include -#include -#include -#include +#include +#include /* 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 modem lockfile (ie /var/lock/LCK..cua1) \n"); - fprintf(stderr," default is /var/lock/LCK..modem (/dev/modem) \n"); + fprintf(stderr," -m modem lockfile (ie /var/lock/LCK..modem) \n"); + fprintf(stderr," default is /var/run/cuaa1.if \n"); fprintf(stderr," -u update frequency (default 5 sec)\n"); fprintf(stderr," -p [+|-]x[+|-]y position of asmodem\n"); fprintf(stderr," -d 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; + } } /****************************************************************************/