如何获取Linux下并口打印机的状态?
How to get the status of parallel port printer under Linux?
如何在Linux下获取并口打印机的状态,如缺纸,设备未安装等。
或者
如何通过CUPS打印机状态等获取
int fd = open("/dev/lp0", O_RDWR);
if (fd < 0)
{
printf("can't open lp0\n");
}
else
{
int status = 0;
if (ioctl(fd, LPGETSTATUS, &status) == 0)
{
fprintf(stderr, "DEBUG: LPGETSTATUS returned a port status of %02X...\n", status);
if (status & LP_NOPA)
{
RET = T;
fputs("WARNING: Media tray empty!\n", stderr);
}
else if (status & LP_ERR)
{
RET = F;
fputs("WARNING: Printer fault!\n", stderr);
}
else if (status & LP_OFFL)
{
RET = F;
fputs("WARNING: Printer off-line.\n", stderr);
}
close(fd);
}
}
如何在Linux下获取并口打印机的状态,如缺纸,设备未安装等。 或者 如何通过CUPS打印机状态等获取
int fd = open("/dev/lp0", O_RDWR);
if (fd < 0)
{
printf("can't open lp0\n");
}
else
{
int status = 0;
if (ioctl(fd, LPGETSTATUS, &status) == 0)
{
fprintf(stderr, "DEBUG: LPGETSTATUS returned a port status of %02X...\n", status);
if (status & LP_NOPA)
{
RET = T;
fputs("WARNING: Media tray empty!\n", stderr);
}
else if (status & LP_ERR)
{
RET = F;
fputs("WARNING: Printer fault!\n", stderr);
}
else if (status & LP_OFFL)
{
RET = F;
fputs("WARNING: Printer off-line.\n", stderr);
}
close(fd);
} }