Merge branch 'modesetting-gem' of ssh://git.freedesktop.org/git/mesa/drm into modeset...
[profile/ivi/libdrm.git] / libdrm / xf86drmSL.c
index dd634c3..58aefac 100644 (file)
@@ -25,8 +25,6 @@
  * 
  * Authors: Rickard E. (Rik) Faith <faith@valinux.com>
  *
- * $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmSL.c,v 1.3 2000/06/17 00:03:34 martin Exp $
- *
  * DESCRIPTION
  *
  * This file contains a straightforward skip list implementation.n
  *
  */
 
+#include <stdio.h>
+#include <stdlib.h>
+
 #define SL_MAIN 0
 
-#if SL_MAIN
-# include <stdio.h>
-# include <stdlib.h>
-#  include <sys/time.h>
-#else
+#if !SL_MAIN
 # include "xf86drm.h"
-# ifdef XFree86LOADER
-#  include "xf86.h"
-#  include "xf86_ansic.h"
-# else
-#  include <stdio.h>
-#  include <stdlib.h>
-# endif
+#else
+# include <sys/time.h>
 #endif
 
-#define N(x)  drm##x
-
 #define SL_LIST_MAGIC  0xfacade00LU
 #define SL_ENTRY_MAGIC 0x00fab1edLU
 #define SL_FREED_MAGIC 0xdecea5edLU
@@ -98,15 +88,15 @@ typedef struct SkipList {
 } SkipList, *SkipListPtr;
 
 #if SL_MAIN
-extern void *N(SLCreate)(void);
-extern int  N(SLDestroy)(void *l);
-extern int  N(SLLookup)(void *l, unsigned long key, void **value);
-extern int  N(SLInsert)(void *l, unsigned long key, void *value);
-extern int  N(SLDelete)(void *l, unsigned long key);
-extern int  N(SLNext)(void *l, unsigned long *key, void **value);
-extern int  N(SLFirst)(void *l, unsigned long *key, void **value);
-extern void N(SLDump)(void *l);
-extern int  N(SLLookupNeighbors)(void *l, unsigned long key,
+extern void *drmSLCreate(void);
+extern int  drmSLDestroy(void *l);
+extern int  drmSLLookup(void *l, unsigned long key, void **value);
+extern int  drmSLInsert(void *l, unsigned long key, void *value);
+extern int  drmSLDelete(void *l, unsigned long key);
+extern int  drmSLNext(void *l, unsigned long *key, void **value);
+extern int  drmSLFirst(void *l, unsigned long *key, void **value);
+extern void drmSLDump(void *l);
+extern int  drmSLLookupNeighbors(void *l, unsigned long key,
                                 unsigned long *prev_key, void **prev_value,
                                 unsigned long *next_key, void **next_value);
 #endif
@@ -139,7 +129,7 @@ static int SLRandomLevel(void)
     return level;
 }
 
-void *N(SLCreate)(void)
+void *drmSLCreate(void)
 {
     SkipListPtr  list;
     int          i;
@@ -156,7 +146,7 @@ void *N(SLCreate)(void)
     return list;
 }
 
-int N(SLDestroy)(void *l)
+int drmSLDestroy(void *l)
 {
     SkipListPtr   list  = (SkipListPtr)l;
     SLEntryPtr    entry;
@@ -193,7 +183,7 @@ static SLEntryPtr SLLocate(void *l, unsigned long key, SLEntryPtr *update)
     return entry->forward[0];
 }
 
-int N(SLInsert)(void *l, unsigned long key, void *value)
+int drmSLInsert(void *l, unsigned long key, void *value)
 {
     SkipListPtr   list  = (SkipListPtr)l;
     SLEntryPtr    entry;
@@ -226,7 +216,7 @@ int N(SLInsert)(void *l, unsigned long key, void *value)
     return 0;                  /* Added to table */
 }
 
-int N(SLDelete)(void *l, unsigned long key)
+int drmSLDelete(void *l, unsigned long key)
 {
     SkipListPtr   list = (SkipListPtr)l;
     SLEntryPtr    update[SL_MAX_LEVEL + 1];
@@ -253,7 +243,7 @@ int N(SLDelete)(void *l, unsigned long key)
     return 0;
 }
 
-int N(SLLookup)(void *l, unsigned long key, void **value)
+int drmSLLookup(void *l, unsigned long key, void **value)
 {
     SkipListPtr   list = (SkipListPtr)l;
     SLEntryPtr    update[SL_MAX_LEVEL + 1];
@@ -269,7 +259,7 @@ int N(SLLookup)(void *l, unsigned long key, void **value)
     return -1;
 }
 
-int N(SLLookupNeighbors)(void *l, unsigned long key,
+int drmSLLookupNeighbors(void *l, unsigned long key,
                         unsigned long *prev_key, void **prev_value,
                         unsigned long *next_key, void **next_value)
 {
@@ -296,7 +286,7 @@ int N(SLLookupNeighbors)(void *l, unsigned long key,
     return retcode;
 }
 
-int N(SLNext)(void *l, unsigned long *key, void **value)
+int drmSLNext(void *l, unsigned long *key, void **value)
 {
     SkipListPtr   list = (SkipListPtr)l;
     SLEntryPtr    entry;
@@ -315,18 +305,18 @@ int N(SLNext)(void *l, unsigned long *key, void **value)
     return 0;
 }
 
-int N(SLFirst)(void *l, unsigned long *key, void **value)
+int drmSLFirst(void *l, unsigned long *key, void **value)
 {
     SkipListPtr   list = (SkipListPtr)l;
     
     if (list->magic != SL_LIST_MAGIC) return -1; /* Bad magic */
     
     list->p0 = list->head->forward[0];
-    return N(SLNext)(list, key, value);
+    return drmSLNext(list, key, value);
 }
 
 /* Dump internal data structures for debugging. */
-void N(SLDump)(void *l)
+void drmSLDump(void *l)
 {
     SkipListPtr   list = (SkipListPtr)l;
     SLEntryPtr    entry;
@@ -366,10 +356,10 @@ static void print(SkipListPtr list)
     unsigned long key;
     void          *value;
     
-    if (N(SLFirst)(list, &key, &value)) {
+    if (drmSLFirst(list, &key, &value)) {
        do {
            printf("key = %5lu, value = %p\n", key, value);
-       } while (N(SLNext)(list, &key, &value));
+       } while (drmSLNext(list, &key, &value));
     }
 }
 
@@ -387,27 +377,27 @@ static double do_time(int size, int iter)
 
     SL_RANDOM_INIT(12345);
     
-    list = N(SLCreate)();
+    list = drmSLCreate();
 
     for (i = 0; i < size; i++) {
        keys[i] = SL_RANDOM;
-       N(SLInsert)(list, keys[i], NULL);
+       drmSLInsert(list, keys[i], NULL);
     }
 
     previous = 0;
-    if (N(SLFirst)(list, &key, &value)) {
+    if (drmSLFirst(list, &key, &value)) {
        do {
            if (key <= previous) {
                printf( "%lu !< %lu\n", previous, key);
            }
            previous = key;
-       } while (N(SLNext)(list, &key, &value));
+       } while (drmSLNext(list, &key, &value));
     }
     
     gettimeofday(&start, NULL);
     for (j = 0; j < iter; j++) {
        for (i = 0; i < size; i++) {
-           if (N(SLLookup)(list, keys[i], &value))
+           if (drmSLLookup(list, keys[i], &value))
                printf("Error %lu %d\n", keys[i], i);
        }
     }
@@ -418,7 +408,7 @@ static double do_time(int size, int iter)
     
     printf("%0.2f microseconds for list length %d\n", usec, size);
 
-    N(SLDestroy)(list);
+    drmSLDestroy(list);
     
     return usec;
 }
@@ -443,15 +433,15 @@ int main(void)
     SkipListPtr    list;
     double         usec, usec2, usec3, usec4;
 
-    list = N(SLCreate)();
+    list = drmSLCreate();
     printf( "list at %p\n", list);
 
     print(list);
     printf("\n==============================\n\n");
 
-    N(SLInsert)(list, 123, NULL);
-    N(SLInsert)(list, 213, NULL);
-    N(SLInsert)(list, 50, NULL);
+    drmSLInsert(list, 123, NULL);
+    drmSLInsert(list, 213, NULL);
+    drmSLInsert(list, 50, NULL);
     print(list);
     printf("\n==============================\n\n");
     
@@ -464,12 +454,12 @@ int main(void)
     print_neighbors(list, 256);
     printf("\n==============================\n\n");    
     
-    N(SLDelete)(list, 50);
+    drmSLDelete(list, 50);
     print(list);
     printf("\n==============================\n\n");
 
-    N(SLDump)(list);
-    N(SLDestroy)(list);
+    drmSLDump(list);
+    drmSLDestroy(list);
     printf("\n==============================\n\n");
 
     usec  = do_time(100, 10000);