]> git.ipfire.org Git - thirdparty/cups.git/blame - cups/array.h
Load cups into easysw/current.
[thirdparty/cups.git] / cups / array.h
CommitLineData
ef416fc2 1/*
bc44d920 2 * "$Id: array.h 6649 2007-07-11 21:46:42Z mike $"
ef416fc2 3 *
4 * Sorted array definitions for the Common UNIX Printing System (CUPS).
5 *
bc44d920 6 * Copyright 2007 by Apple Inc.
b94498cf 7 * Copyright 1997-2007 by Easy Software Products.
ef416fc2 8 *
9 * These coded instructions, statements, and computer programs are the
bc44d920 10 * property of Apple Inc. and are protected by Federal copyright
11 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 * which should have been included with this file. If this file is
13 * file is missing or damaged, see the license at "http://www.cups.org/".
ef416fc2 14 *
15 * This file is subject to the Apple OS-Developed Software exception.
16 */
17
18#ifndef _CUPS_ARRAY_H_
19# define _CUPS_ARRAY_H_
20
21/*
22 * Include necessary headers...
23 */
24
25# include <stdlib.h>
26
27
28/*
29 * C++ magic...
30 */
31
32# ifdef __cplusplus
33extern "C" {
34# endif /* __cplusplus */
35
36
37/*
38 * Types and structures...
39 */
40
41typedef struct _cups_array_s cups_array_t;
42 /**** CUPS array type ****/
43typedef int (*cups_array_func_t)(void *first, void *second, void *data);
44 /**** Array comparison function ****/
b94498cf 45typedef int (*cups_ahash_func_t)(void *element, void *data);
46 /**** Array hash function ****/
47
ef416fc2 48
49/*
50 * Functions...
51 */
52
53extern int cupsArrayAdd(cups_array_t *a, void *e);
54extern void cupsArrayClear(cups_array_t *a);
55extern int cupsArrayCount(cups_array_t *a);
56extern void *cupsArrayCurrent(cups_array_t *a);
57extern void cupsArrayDelete(cups_array_t *a);
58extern cups_array_t *cupsArrayDup(cups_array_t *a);
59extern void *cupsArrayFind(cups_array_t *a, void *e);
60extern void *cupsArrayFirst(cups_array_t *a);
f7deaa1a 61extern int cupsArrayGetIndex(cups_array_t *a);
62extern int cupsArrayGetInsert(cups_array_t *a);
ef416fc2 63extern void *cupsArrayIndex(cups_array_t *a, int n);
fa73b229 64extern int cupsArrayInsert(cups_array_t *a, void *e);
ef416fc2 65extern void *cupsArrayLast(cups_array_t *a);
66extern cups_array_t *cupsArrayNew(cups_array_func_t f, void *d);
b94498cf 67extern cups_array_t *cupsArrayNew2(cups_array_func_t f, void *d,
68 cups_ahash_func_t h, int hsize);
ef416fc2 69extern void *cupsArrayNext(cups_array_t *a);
70extern void *cupsArrayPrev(cups_array_t *a);
71extern int cupsArrayRemove(cups_array_t *a, void *e);
72extern void *cupsArrayRestore(cups_array_t *a);
73extern int cupsArraySave(cups_array_t *a);
e1d6a774 74extern void *cupsArrayUserData(cups_array_t *a);
ef416fc2 75
76# ifdef __cplusplus
77}
78# endif /* __cplusplus */
79#endif /* !_CUPS_ARRAY_H_ */
80
81/*
bc44d920 82 * End of "$Id: array.h 6649 2007-07-11 21:46:42Z mike $".
ef416fc2 83 */