如何在Linux下获取并行端口打印机的状态?

时间:2017-11-05 10:32:53

标签: linux cups

如何获取Linux下的并口打印机状态,如缺纸,未安装设备。 要么 如何通过CUPS打印机状态等。

1 个答案:

答案 0 :(得分:0)

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);

}   }