mesa: Remove unnecessary header.
[mesa.git] / src / mesa / main / mm.h
index 83a4ac8c74d99dbf3260113d75e2fb6b636546c8..df340808ac9f81df9050f52a0aab0917cd7f7463 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * GLX Hardware Device Driver common code
- * Copyright (C) 1999 Keith Whitwell
+ * Copyright (C) 1999 Wittawat Yamwong
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
  * 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.
- *
  */
 
-#ifndef MM_INC
-#define MM_INC
 
-struct mem_block_t {
-  struct mem_block_t *next;
-  struct mem_block_t *heap;
-  int ofs,size;
-  int align;
-  unsigned int free:1;
-  unsigned int reserved:1;
-};
-typedef struct mem_block_t TMemBlock;
-typedef struct mem_block_t *PMemBlock;
+/**
+ * Memory manager code.  Primarily used by device drivers to manage texture
+ * heaps, etc.
+ */
+
+
+#ifndef MM_H
+#define MM_H
+
+
+#include "imports.h"
 
-/* a heap is just the first block in a chain */
-typedef struct mem_block_t memHeap_t;
 
-static __inline__ int mmBlockSize(PMemBlock b)
-{ return b->size; }
+struct mem_block {
+   struct mem_block *next, *prev;
+   struct mem_block *next_free, *prev_free;
+   struct mem_block *heap;
+   unsigned ofs;
+   unsigned size;
+   unsigned free:1;
+   unsigned reserved:1;
+};
+
 
-static __inline__ int mmOffset(PMemBlock b)
-{ return b->ofs; }
 
-/* 
+/** 
  * input: total size in bytes
  * return: a heap pointer if OK, NULL if error
  */
-memHeap_t *mmInit( int ofs, int size );
+extern struct mem_block *mmInit(unsigned ofs, unsigned size);
 
-/*
+/**
  * Allocate 'size' bytes with 2^align2 bytes alignment,
  * restrict the search to free memory after 'startSearch'
  * depth and back buffers should be in different 4mb banks
@@ -61,29 +63,31 @@ memHeap_t *mmInit( int ofs, int size );
  *             startSearch = linear offset from start of heap to begin search
  * return: pointer to the allocated block, 0 if error
  */
-PMemBlock  mmAllocMem( memHeap_t *heap, int size, int align2
-                      int startSearch );
+extern struct mem_block *mmAllocMem(struct mem_block *heap, unsigned size
+                                    unsigned align2, unsigned startSearch);
 
-/*
+/**
  * Free block starts at offset
  * input: pointer to a block
  * return: 0 if OK, -1 if error
  */
-int  mmFreeMem( PMemBlock b );
+extern int mmFreeMem(struct mem_block *b);
 
-/*
+/**
  * Free block starts at offset
  * input: pointer to a heap, start offset
  * return: pointer to a block
  */
-PMemBlock mmFindBlock( memHeap_t *heap, int start);
+extern struct mem_block *mmFindBlock(struct mem_block *heap, unsigned start);
 
-/*
+/**
  * destroy MM
  */
-void mmDestroy( memHeap_t *mmInit );
+extern void mmDestroy(struct mem_block *mmInit);
 
-/* For debuging purpose. */
-void mmDumpMemInfo( memHeap_t *mmInit );
+/**
+ * For debuging purpose.
+ */
+extern void mmDumpMemInfo(const struct mem_block *mmInit);
 
 #endif