#ifndef _CUPS_RASTER_PRIVATE_H_
# define _CUPS_RASTER_PRIVATE_H_
# include "raster.h"
# include <cups/cups.h>
# include <cups/debug-private.h>
# include <cups/string-private.h>
# ifdef _WIN32
# include <io.h>
# include <winsock2.h>
# else
# include <unistd.h>
# include <fcntl.h>
# endif
# ifdef __cplusplus
extern "C" {
# endif
struct _cups_raster_s
{
unsigned sync;
void *ctx;
cups_raster_iocb_t iocb;
cups_mode_t mode;
cups_page_header2_t header;
unsigned rowheight,
count,
remaining,
bpp;
unsigned char *pixels,
*pend,
*pcurrent;
int compressed,
swapped;
unsigned char *buffer,
*bufptr,
*bufend;
size_t bufsize;
# ifdef DEBUG
size_t iostart,
iocount;
# endif
unsigned apple_page_count;
};
#if 0
# ifndef max
# define max(a,b) ((a) > (b) ? (a) : (b))
# endif
# ifndef min
# define min(a,b) ((a) < (b) ? (a) : (b))
# endif
#endif // 0
extern void _cupsRasterAddError(const char *f, ...) _CUPS_FORMAT(1,2) _CUPS_PRIVATE;
extern void _cupsRasterClearError(void) _CUPS_PRIVATE;
extern const char *_cupsRasterColorSpaceString(cups_cspace_t cspace) _CUPS_PRIVATE;
extern void _cupsRasterDelete(cups_raster_t *r) _CUPS_PRIVATE;
extern const char *_cupsRasterErrorString(void) _CUPS_PRIVATE;
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;
extern cups_raster_t *_cupsRasterNew(cups_raster_iocb_t iocb, void *ctx, cups_mode_t mode) _CUPS_PRIVATE;
extern unsigned _cupsRasterReadHeader(cups_raster_t *r) _CUPS_PRIVATE;
extern unsigned _cupsRasterReadPixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
extern unsigned _cupsRasterWriteHeader(cups_raster_t *r) _CUPS_PRIVATE;
extern unsigned _cupsRasterWritePixels(cups_raster_t *r, unsigned char *p, unsigned len) _CUPS_PRIVATE;
# ifdef __cplusplus
}
# endif
#endif