/* * Copyright 2012 Canonical Ltd. * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranties of * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #ifndef banner_h #define banner_h #include #include #include enum banner_info { INFO_IMAGEABLE_AREA = 1, INFO_JOB_BILLING = 1 << 1, INFO_JOB_ID = 1 << 2, INFO_JOB_NAME = 1 << 3, INFO_JOB_ORIGINATING_HOST_NAME = 1 << 4, INFO_JOB_ORIGINATING_USER_NAME = 1 << 5, INFO_JOB_UUID = 1 << 6, INFO_OPTIONS = 1 << 7, INFO_PAPER_NAME = 1 << 8, INFO_PAPER_SIZE = 1 << 9, INFO_PRINTER_DRIVER_NAME = 1 << 10, INFO_PRINTER_DRIVER_VERSION = 1 << 11, INFO_PRINTER_INFO = 1 << 12, INFO_PRINTER_LOCATION = 1 << 13, INFO_PRINTER_MAKE_AND_MODEL = 1 << 14, INFO_PRINTER_NAME = 1 << 15, INFO_TIME_AT_CREATION = 1 << 16, INFO_TIME_AT_PROCESSING = 1 << 17 }; typedef struct { char *template_file; char *header, *footer; unsigned infos; } banner_t; banner_t * banner_new_from_file(const char *filename, int *num_options, cups_option_t **options); void banner_free(banner_t *banner); #endif