Outdated material; included only for historical reference
January 1993
/* lp2status.c */
#include <fcntl.h>
#include <stdio.h>
#include "lp2status.h"
/* cc -o lp2status lp2status.c -lc */
main(int argc,char **argv)
{
char key=' ';
struct lp2 arg;
int fild=open("/dev/lp2io",O_WRONLY);
while (key != 'Q')
{
ioctl(fild,MAGIC,&arg);
printf("\n\n\n\n");
if (arg.Lpflags & LPEXIST)
printf(" LPEXIST");
if (arg.Lpflags & SLEEP)
printf(" SLEEP");
if (arg.Lpflags & LPBUSY)
printf(" LPBUSY");
if (arg.Lpflags & WAIT)
printf(" WAIT");
if (arg.Lpflags & TOPEND)
printf(" TOPEND");
if (arg.Lpflags & EXCLOPEN)
printf(" EXCLOPEN");
if (arg.Lpflags & OPEN)
printf(" OPEN");
printf("\n");
printf("1:Change Debug level %d\n",arg.DeBug);
printf("2:Reset Ccount %d\n",arg.Ccount);
printf("3:Reset Icount %d\n",arg.Icount);
printf("4:Reset spindowns %d\n",arg.spindowns);
printf("5:Reset wsleeps %d\n",arg.wsleeps);
printf("6:Change spinloop %d\n",arg.spinloop);
printf("7:Change Low_water %d\n",arg.Low_water);
printf("8:Change Highwater %d\n",arg.Highwater);
printf("9:Change Wait_int %d\n",arg.Wait_int);
printf("Q to exit or number to be changed ");
scanf(" %1c",&key);
key &= 0xff;
if (key == 'Q' || key == 'q')
break;
if (key < '1' || key > '9')
continue;
switch (key)
{
case '1': printf("\nNew DeBug level %d ",arg.DeBug);
scanf("%1d",&(arg.DeBug));
break;
case '2': arg.Ccount=0;
break;
case '3': arg.Icount=0;
break;
case '4': arg.spindowns=0;
break;
case '5': arg.wsleeps=0;
break;
case '6': printf("\nNew spinloop level %d ",arg.spinloop);
scanf("%3d",&(arg.spinloop));
break;
case '7': printf("\nNew Low_water level %d ",arg.Low_water);
scanf("%3d",&(arg.Low_water));
break;
case '8': printf("\nNew Highwater level %d ",arg.Highwater);
scanf("%3d",&(arg.Highwater));
break;
case '9': printf("\nNew Wait_int level %d ",arg.Wait_int);
scanf("%3d",&(arg.Wait_int));
break;
}
ioctl(fild,1+MAGIC,&arg);
}
close(fild);
}
int Wait_int;
};
Got something to add? Send me email.
More Articles by Tony Lawrence © 2010-05-26 Tony Lawrence
The nice thing about standards is that you have so many to choose from. (Andrew S. Tanenbaum)
Wed May 26 06:52:19 2010: 8639 komachi
does it works?
Wed May 26 10:10:11 2010: 8640 TonyLawrence
Not on any current operating system as it stands, though much of it would with a little work.
This was written for a Unix OS of twenty years back. I doubt anyone still has this running - for that matter, how many parallel ports do you see today?
------------------------
Printer Friendly Version
lp driver ioctl program Copyright © December 1997 Tony Lawrence
Have you tried Searching this site?
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.
Contact us
Printer Friendly Version