/* private */

/*
The following functions and types are missing, and I'm too lazy to put them in right now.  -- CEH


DBEnumProc
Data
Data16
Data32
QuickCheck
SendZImage
TopRects
_getbits
voidProcp
*/

void Compress(Region r, Region s, Region t, unsigned dx, int xdir, int grow);
void CreateETandAET(int count, XPoint *pts, EdgeTable *ET, EdgeTableEntry *AET, EdgeTableEntry *pETEs, ScanLineListBlock *pSLLBlock);
void FreeStorage(ScanLineListBlock *pSLLBlock);
XCharStruct *GetCS(XCharStruct *min_bounds, XCharStruct pCS[], unsigned int firstCol, unsigned int numCols, unsigned int firstRow, unsigned int numRows, unsigned int ind, char *chars, unsigned int chDefault);
XCharStruct *GetCS162d(XCharStruct *min_bounds, XCharStruct pCS[], unsigned int firstCol, unsigned int numCols, unsigned int firstRow, unsigned int numRows, unsigned int ind, XChar2b *chars, unsigned int chDefault);
XCharStruct *GetCS2d(XCharStruct *min_bounds, XCharStruct pCS[], unsigned int firstCol, unsigned int numCols, unsigned int firstRow, unsigned int numRows, unsigned int ind, char *chars, unsigned int chDefault);
void GetGlyphs(XFontStruct *font, int count, XChar2b *chars, XCharStruct *(*getGlyph)(), unsigned int *glyphcount, XCharStruct *glyphs[]);
void GetGlyphs(XFontStruct *font, int count, char *chars, XCharStruct *(*getGlyph)(), unsigned int *glyphcount, XCharStruct *glyphs[]);
void InitModMap(Display *dpy);
void InsertEdgeInET(EdgeTable *ET, EdgeTableEntry *ETE, int scanline, ScanLineListBlock **SLLBlock, int *iSLLBlock);
void InsertionSort(EdgeTableEntry *AET);
void NoSwap(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void PutImageRequest(Display *dpy, Drawable d, GC gc, XImage *image, int req_xoffset, int req_yoffset, int x, int y, unsigned int req_width, unsigned int req_height, int dest_bits_per_pixel, int dest_scanline_pad);
void PutSubImage(Display *dpy, Drawable d, GC gc, XImage *image, int req_xoffset, int req_yoffset, int x, int y, unsigned int req_width, unsigned int req_height, int dest_bits_per_pixel, int dest_scanline_pad);
int ReadInteger(char *string, char **NextString);
void SendXYImage(Display *dpy, xPutImageReq *req, XImage *image, int req_xoffset, int req_yoffset);
void ShiftNibblesLeft(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height);
void SwapBits(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void SwapBitsAndFourBytes(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void SwapBitsAndTwoBytes(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, half_order);
void SwapBitsAndWords(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void SwapFourBytes(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void SwapNibbles(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height);
void SwapThreeBytes(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int byte_order);
void SwapTwoBytes(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void SwapWords(unsigned char *src, unsigned char *dest, long srclen, long srcinc, long destinc, unsigned int height, int half_order);
void combineRegs(Region newReg, Region reg1, Region reg2);
void computeWAET(EdgeTableEntry *AET);
void loadAET(EdgeTableEntry *AET, EdgeTableEntry *ETEs);
void miCoalesce(Region pReg, int prevStart, int curStart);
void miIntersectO(Region pReg, BoxPtr r1, BoxPtr r1End, BoxPtr r2, BoxPtr r2End, short y1, short y2);
void miRegionCopy(Region dstrgn, Region rgn);
void miRegionOp(Region newReg, Region reg1, Region reg2, void (*overlapFunc)(), void (*nonOverlap1Func)(), void (*nonOverlap2Func)());
void miSetExtents(Region pReg);
void miSubtractNonO1(Region pReg, BoxPtr r, BoxPtr rEnd, short y1, short y2);
void miSubtractO(Region pReg, BoxPtr r1, BoxPtr r1End, BoxPtr r2, BoxPtr r2End, short y1, short y2);
void miUnionNonO(Region pReg, BoxPtr r, BoxPtr rEnd, short y1, short y2);
void miUnionO(Region pReg, BoxPtr r1, BoxPtr r1End, BoxPtr r2, BoxPtr r2End, short y1, short y2);
void _SetLastRequestRead(Display *dpy, xGenericReply *rep);
