X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=Xserver%2Fprograms%2FXserver%2Fdix%2Fprivates.c;fp=Xserver%2Fprograms%2FXserver%2Fdix%2Fprivates.c;h=0000000000000000000000000000000000000000;hp=9a1a1567cf3f2c6ab646a847fcae23bd657dc1f8;hb=ce66b81460e5353db09d45c02339d4583fbda255;hpb=7772d71ffd742cfc9b7ff214659d16c5bb56a391 diff --git a/Xserver/programs/Xserver/dix/privates.c b/Xserver/programs/Xserver/dix/privates.c deleted file mode 100644 index 9a1a156..0000000 --- a/Xserver/programs/Xserver/dix/privates.c +++ /dev/null @@ -1,355 +0,0 @@ -/* $XConsortium: privates.c /main/5 1996/06/17 10:56:22 mor $ */ -/* $XFree86: xc/programs/Xserver/dix/privates.c,v 3.2 1997/01/23 10:57:19 dawes Exp $ */ -/* - -Copyright (c) 1993 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from the X Consortium. - -*/ - -#include "X.h" -#include "scrnintstr.h" -#include "misc.h" -#include "os.h" -#include "windowstr.h" -#include "resource.h" -#include "dixstruct.h" -#include "gcstruct.h" -#include "colormapst.h" -#include "servermd.h" -#include "site.h" - -/* - * See the Wrappers and devPrivates section in "Definition of the - * Porting Layer for the X v11 Sample Server" (doc/Server/ddx.tbl.ms) - * for information on how to use devPrivates. - */ - -/* - * client private machinery - */ - -static int clientPrivateCount; -int clientPrivateLen; -unsigned *clientPrivateSizes; -unsigned totalClientSize; - -void -ResetClientPrivates() -{ - clientPrivateCount = 0; - clientPrivateLen = 0; - xfree(clientPrivateSizes); - clientPrivateSizes = (unsigned *)NULL; - totalClientSize = sizeof(ClientRec); - -} - -int -AllocateClientPrivateIndex() -{ - return clientPrivateCount++; -} - -Bool -AllocateClientPrivate(index2, amount) - int index2; - unsigned amount; -{ - unsigned oldamount; - - if (index2 >= clientPrivateLen) - { - unsigned *nsizes; - nsizes = (unsigned *)xrealloc(clientPrivateSizes, - (index2 + 1) * sizeof(unsigned)); - if (!nsizes) - return FALSE; - while (clientPrivateLen <= index2) - { - nsizes[clientPrivateLen++] = 0; - totalClientSize += sizeof(DevUnion); - } - clientPrivateSizes = nsizes; - } - oldamount = clientPrivateSizes[index2]; - if (amount > oldamount) - { - clientPrivateSizes[index2] = amount; - totalClientSize += (amount - oldamount); - } - return TRUE; -} - -/* - * screen private machinery - */ - -int screenPrivateCount; - -void -ResetScreenPrivates() -{ - screenPrivateCount = 0; -} - -/* this can be called after some screens have been created, - * so we have to worry about resizing existing devPrivates - */ -int -AllocateScreenPrivateIndex() -{ - int index2; - int i; - ScreenPtr pScreen; - DevUnion *nprivs; - - index2 = screenPrivateCount++; - for (i = 0; i < screenInfo.numScreens; i++) - { - pScreen = screenInfo.screens[i]; - nprivs = (DevUnion *)xrealloc(pScreen->devPrivates, - screenPrivateCount * sizeof(DevUnion)); - if (!nprivs) - { - screenPrivateCount--; - return -1; - } - pScreen->devPrivates = nprivs; - } - return index2; -} - - -/* - * window private machinery - */ - -static int windowPrivateCount; - -void -ResetWindowPrivates() -{ - windowPrivateCount = 0; -} - -int -AllocateWindowPrivateIndex() -{ - return windowPrivateCount++; -} - -Bool -AllocateWindowPrivate(pScreen, index2, amount) - register ScreenPtr pScreen; - int index2; - unsigned amount; -{ - unsigned oldamount; - - if (index2 >= pScreen->WindowPrivateLen) - { - unsigned *nsizes; - nsizes = (unsigned *)xrealloc(pScreen->WindowPrivateSizes, - (index2 + 1) * sizeof(unsigned)); - if (!nsizes) - return FALSE; - while (pScreen->WindowPrivateLen <= index2) - { - nsizes[pScreen->WindowPrivateLen++] = 0; - pScreen->totalWindowSize += sizeof(DevUnion); - } - pScreen->WindowPrivateSizes = nsizes; - } - oldamount = pScreen->WindowPrivateSizes[index2]; - if (amount > oldamount) - { - pScreen->WindowPrivateSizes[index2] = amount; - pScreen->totalWindowSize += (amount - oldamount); - } - return TRUE; -} - - -/* - * gc private machinery - */ - -static int gcPrivateCount; - -void -ResetGCPrivates() -{ - gcPrivateCount = 0; -} - -int -AllocateGCPrivateIndex() -{ - return gcPrivateCount++; -} - -Bool -AllocateGCPrivate(pScreen, index2, amount) - register ScreenPtr pScreen; - int index2; - unsigned amount; -{ - unsigned oldamount; - - if (index2 >= pScreen->GCPrivateLen) - { - unsigned *nsizes; - nsizes = (unsigned *)xrealloc(pScreen->GCPrivateSizes, - (index2 + 1) * sizeof(unsigned)); - if (!nsizes) - return FALSE; - while (pScreen->GCPrivateLen <= index2) - { - nsizes[pScreen->GCPrivateLen++] = 0; - pScreen->totalGCSize += sizeof(DevUnion); - } - pScreen->GCPrivateSizes = nsizes; - } - oldamount = pScreen->GCPrivateSizes[index2]; - if (amount > oldamount) - { - pScreen->GCPrivateSizes[index2] = amount; - pScreen->totalGCSize += (amount - oldamount); - } - return TRUE; -} - - -/* - * pixmap private machinery - */ -#ifdef PIXPRIV -static int pixmapPrivateCount; - -void -ResetPixmapPrivates() -{ - pixmapPrivateCount = 0; -} - -int -AllocatePixmapPrivateIndex() -{ - return pixmapPrivateCount++; -} - -Bool -AllocatePixmapPrivate(pScreen, index2, amount) - register ScreenPtr pScreen; - int index2; - unsigned amount; -{ - unsigned oldamount; - - if (index2 >= pScreen->PixmapPrivateLen) - { - unsigned *nsizes; - nsizes = (unsigned *)xrealloc(pScreen->PixmapPrivateSizes, - (index2 + 1) * sizeof(unsigned)); - if (!nsizes) - return FALSE; - while (pScreen->PixmapPrivateLen <= index2) - { - nsizes[pScreen->PixmapPrivateLen++] = 0; - pScreen->totalPixmapSize += sizeof(DevUnion); - } - pScreen->PixmapPrivateSizes = nsizes; - } - oldamount = pScreen->PixmapPrivateSizes[index2]; - if (amount > oldamount) - { - pScreen->PixmapPrivateSizes[index2] = amount; - pScreen->totalPixmapSize += (amount - oldamount); - } - pScreen->totalPixmapSize = BitmapBytePad(pScreen->totalPixmapSize * 8); - return TRUE; -} -#endif - - -/* - * colormap private machinery - */ - -int colormapPrivateCount; - -void -ResetColormapPrivates() -{ - colormapPrivateCount = 0; -} - - -int -AllocateColormapPrivateIndex (initPrivFunc) - -InitCmapPrivFunc initPrivFunc; - -{ - int index; - int i; - ColormapPtr pColormap; - DevUnion *privs; - - index = colormapPrivateCount++; - - for (i = 0; i < screenInfo.numScreens; i++) - { - /* - * AllocateColormapPrivateIndex may be called after the - * default colormap has been created on each screen! - * - * We must resize the devPrivates array for the default - * colormap on each screen, making room for this new private. - * We also call the initialization function 'initPrivFunc' on - * the new private allocated for each default colormap. - */ - - ScreenPtr pScreen = screenInfo.screens[i]; - - pColormap = (ColormapPtr) LookupIDByType ( - pScreen->defColormap, RT_COLORMAP); - - privs = (DevUnion *) xrealloc (pColormap->devPrivates, - colormapPrivateCount * sizeof(DevUnion)); - - pColormap->devPrivates = privs; - - if (!privs || !(*initPrivFunc)(pColormap)) - { - colormapPrivateCount--; - return -1; - } - } - - return index; -}