You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.7 KiB
109 lines
2.7 KiB
/* |
|
* PPD custom option routines for CUPS. |
|
* |
|
* Copyright 2007-2015 by Apple Inc. |
|
* Copyright 1997-2006 by Easy Software Products, all rights reserved. |
|
* |
|
* These coded instructions, statements, and computer programs are the |
|
* property of Apple Inc. and are protected by Federal copyright |
|
* law. Distribution and use rights are outlined in the file "LICENSE.txt" |
|
* which should have been included with this file. If this file is |
|
* missing or damaged, see the license at "http://www.cups.org/". |
|
* |
|
* PostScript is a trademark of Adobe Systems, Inc. |
|
* |
|
* This code and any derivative of it may be used and distributed |
|
* freely under the terms of the GNU General Public License when |
|
* used with GNU Ghostscript or its derivatives. Use of the code |
|
* (or any derivative of it) with software other than GNU |
|
* GhostScript (or its derivatives) is governed by the CUPS license |
|
* agreement. |
|
* |
|
* This file is subject to the Apple OS-Developed Software exception. |
|
*/ |
|
|
|
/* |
|
* Include necessary headers. |
|
*/ |
|
|
|
#include "cups-private.h" |
|
#include "ppd-private.h" |
|
|
|
|
|
/* |
|
* 'ppdFindCustomOption()' - Find a custom option. |
|
* |
|
* @since CUPS 1.2/macOS 10.5@ |
|
*/ |
|
|
|
ppd_coption_t * /* O - Custom option or NULL */ |
|
ppdFindCustomOption(ppd_file_t *ppd, /* I - PPD file */ |
|
const char *keyword)/* I - Custom option name */ |
|
{ |
|
ppd_coption_t key; /* Custom option search key */ |
|
|
|
|
|
if (!ppd) |
|
return (NULL); |
|
|
|
strlcpy(key.keyword, keyword, sizeof(key.keyword)); |
|
return ((ppd_coption_t *)cupsArrayFind(ppd->coptions, &key)); |
|
} |
|
|
|
|
|
/* |
|
* 'ppdFindCustomParam()' - Find a parameter for a custom option. |
|
* |
|
* @since CUPS 1.2/macOS 10.5@ |
|
*/ |
|
|
|
ppd_cparam_t * /* O - Custom parameter or NULL */ |
|
ppdFindCustomParam(ppd_coption_t *opt, /* I - Custom option */ |
|
const char *name) /* I - Parameter name */ |
|
{ |
|
ppd_cparam_t *param; /* Current custom parameter */ |
|
|
|
|
|
if (!opt) |
|
return (NULL); |
|
|
|
for (param = (ppd_cparam_t *)cupsArrayFirst(opt->params); |
|
param; |
|
param = (ppd_cparam_t *)cupsArrayNext(opt->params)) |
|
if (!_cups_strcasecmp(param->name, name)) |
|
break; |
|
|
|
return (param); |
|
} |
|
|
|
|
|
/* |
|
* 'ppdFirstCustomParam()' - Return the first parameter for a custom option. |
|
* |
|
* @since CUPS 1.2/macOS 10.5@ |
|
*/ |
|
|
|
ppd_cparam_t * /* O - Custom parameter or NULL */ |
|
ppdFirstCustomParam(ppd_coption_t *opt) /* I - Custom option */ |
|
{ |
|
if (!opt) |
|
return (NULL); |
|
|
|
return ((ppd_cparam_t *)cupsArrayFirst(opt->params)); |
|
} |
|
|
|
|
|
/* |
|
* 'ppdNextCustomParam()' - Return the next parameter for a custom option. |
|
* |
|
* @since CUPS 1.2/macOS 10.5@ |
|
*/ |
|
|
|
ppd_cparam_t * /* O - Custom parameter or NULL */ |
|
ppdNextCustomParam(ppd_coption_t *opt) /* I - Custom option */ |
|
{ |
|
if (!opt) |
|
return (NULL); |
|
|
|
return ((ppd_cparam_t *)cupsArrayNext(opt->params)); |
|
}
|
|
|