~darkxst/ubuntu/raring/xorg-server/lp1073724

« back to all changes in this revision

Viewing changes to dix/extension.c

  • Committer: Package Import Robot
  • Author(s): Cyril Brulebois
  • Date: 2011-12-20 11:39:51 UTC
  • mto: (0.10.23) (1.1.48)
  • mto: This revision was merged to the branch mainline in revision 244.
  • Revision ID: package-import@ubuntu.com-20111220113951-cx9svdcnqpcta5wk
Tags: upstream-1.11.99.2
ImportĀ upstreamĀ versionĀ 1.11.99.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
#include "registry.h"
62
62
#include "xace.h"
63
63
 
64
 
#define LAST_EVENT  128
65
64
#define LAST_ERROR 255
66
65
 
67
66
static ExtensionEntry **extensions = (ExtensionEntry **)NULL;
71
70
static unsigned int NumExtensions = 0;
72
71
 
73
72
ExtensionEntry *
74
 
AddExtension(char *name, int NumEvents, int NumErrors, 
 
73
AddExtension(const char *name, int NumEvents, int NumErrors,
75
74
             int (*MainProc)(ClientPtr c1), 
76
75
             int (*SwappedMainProc)(ClientPtr c2), 
77
76
             void (*CloseDownProc)(ExtensionEntry *e), 
82
81
 
83
82
    if (!MainProc || !SwappedMainProc || !MinorOpcodeProc)
84
83
        return((ExtensionEntry *) NULL);
85
 
    if ((lastEvent + NumEvents > LAST_EVENT) || 
 
84
    if ((lastEvent + NumEvents > MAXEVENTS) || 
86
85
                (unsigned)(lastError + NumErrors > LAST_ERROR)) {
87
86
        LogMessage(X_ERROR, "Not enabling extension %s: maximum number of "
88
87
                   "events or errors exceeded.\n", name);
151
150
    return ext;
152
151
}
153
152
 
154
 
Bool AddExtensionAlias(char *alias, ExtensionEntry *ext)
 
153
Bool AddExtensionAlias(const char *alias, ExtensionEntry *ext)
155
154
{
156
155
    char *name;
157
156
    char **aliases;
172
171
}
173
172
 
174
173
static int
175
 
FindExtension(char *extname, int len)
 
174
FindExtension(const char *extname, int len)
176
175
{
177
176
    int i, j;
178
177
 
201
200
{
202
201
    int n;
203
202
 
204
 
    n = FindExtension((char*)extname, strlen(extname));
 
203
    n = FindExtension(extname, strlen(extname));
205
204
    if (n != -1)
206
205
        return extensions[n];
207
206
    else
228
227
    return ((xReq *)client->requestBuffer)->data;
229
228
}
230
229
 
231
 
unsigned short
232
 
MinorOpcodeOfRequest(ClientPtr client)
233
 
{
234
 
    unsigned char major;
235
 
 
236
 
    major = ((xReq *)client->requestBuffer)->reqType;
237
 
    if (major < EXTENSION_BASE)
238
 
        return 0;
239
 
    major -= EXTENSION_BASE;
240
 
    if (major >= NumExtensions)
241
 
        return 0;
242
 
    return (*extensions[major]->MinorOpcode)(client);
243
 
}
244
 
 
245
230
void
246
231
CloseDownExtensions(void)
247
232
{