]> git.ipfire.org Git - thirdparty/cups.git/blob - cups/raster-private.h
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / cups / raster-private.h
1 /*
2 * Private image library definitions for CUPS.
3 *
4 * Copyright © 2007-2019 by Apple Inc.
5 * Copyright © 1993-2006 by Easy Software Products.
6 *
7 * Licensed under Apache License v2.0. See the file "LICENSE" for more
8 * information.
9 */
10
11 #ifndef _CUPS_RASTER_PRIVATE_H_
12 # define _CUPS_RASTER_PRIVATE_H_
13
14 /*
15 * Include necessary headers...
16 */
17
18 # include "raster.h"
19 # include <cups/cups.h>
20 # include <cups/debug-private.h>
21 # include <cups/string-private.h>
22 # ifdef _WIN32
23 # include <io.h>
24 # include <winsock2.h> /* for htonl() definition */
25 # else
26 # include <unistd.h>
27 # include <fcntl.h>
28 # endif /* _WIN32 */
29
30 # ifdef __cplusplus
31 extern "C" {
32 # endif /* __cplusplus */
33
34
35 /*
36 * Structure...
37 */
38
39 struct _cups_raster_s /**** Raster stream data ****/
40 {
41 unsigned sync; /* Sync word from start of stream */
42 void *ctx; /* File descriptor */
43 cups_raster_iocb_t iocb; /* IO callback */
44 cups_mode_t mode; /* Read/write mode */
45 cups_page_header2_t header; /* Raster header for current page */
46 unsigned rowheight, /* Row height in lines */
47 count, /* Current row run-length count */
48 remaining, /* Remaining rows in page image */
49 bpp; /* Bytes per pixel/color */
50 unsigned char *pixels, /* Pixels for current row */
51 *pend, /* End of pixel buffer */
52 *pcurrent; /* Current byte in pixel buffer */
53 int compressed, /* Non-zero if data is compressed */
54 swapped; /* Non-zero if data is byte-swapped */
55 unsigned char *buffer, /* Read/write buffer */
56 *bufptr, /* Current (read) position in buffer */
57 *bufend; /* End of current (read) buffer */
58 size_t bufsize; /* Buffer size */
59 # ifdef DEBUG
60 size_t iostart, /* Start of read/write buffer */
61 iocount; /* Number of bytes read/written */
62 # endif /* DEBUG */
63 unsigned apple_page_count;/* Apple raster page count */
64 };
65
66
67 #if 0
68 /*
69 * min/max macros...
70 */
71
72 # ifndef max
73 # define max(a,b) ((a) > (b) ? (a) : (b))
74 # endif /* !max */
75 # ifndef min
76 # define min(a,b) ((a) < (b) ? (a) : (b))
77 # endif /* !min */
78 #endif // 0
79
80
81 /*
82 * Prototypes...
83 */
84
85 extern void _cupsRasterAddError(const char *f, ...) _CUPS_FORMAT(1,2) _CUPS_PRIVATE;
86 extern void _cupsRasterClearError(void) _CUPS_PRIVATE;
87 extern const char *_cupsRasterColorSpaceString(cups_cspace_t cspace) _CUPS_PRIVATE;
88 extern void _cupsRasterDelete(cups_raster_t *r) _CUPS_PRIVATE;
89 extern const char *_cupsRasterErrorString(void) _CUPS_PRIVATE;
90 extern int _cupsRasterInitPWGHeader(cups_page_header2_t *h, pwg_media_t *media, const char *type, int xdpi, int ydpi, const char *sides, const char *sheet_back) _CUPS_PRIVATE;
91 extern cups_raster_t *_cupsRasterNew(cups_raster_iocb_t iocb, void *ctx, cups_mode_t mode) _CUPS_PRIVATE;
92 extern unsigned _cupsRasterReadHeader(cups_raster_t *r) _CUPS_PRIVATE;
93 extern unsigned _cupsRasterReadPixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
94 extern unsigned _cupsRasterWriteHeader(cups_raster_t *r) _CUPS_PRIVATE;
95 extern unsigned _cupsRasterWritePixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
96
97 # ifdef __cplusplus
98 }
99 # endif /* __cplusplus */
100
101 #endif /* !_CUPS_RASTER_PRIVATE_H_ */