Main Page | Class List | Directories | File List | Class Members | File Members

pike_memory.c File Reference

#include "global.h"
#include "pike_memory.h"
#include "pike_error.h"
#include "pike_macros.h"
#include "gc.h"
#include "fd_control.h"
#include "dmalloc.h"
#include <errno.h>

Defines

#define DOSIZE(X, Y)
#define DOSIZE(X, Y)
#define MK_HASHMEM(NAME, TYPE)
#define DO_IF_TRACE_MEMLOC(X)

Functions

char * strdup (const char *str)
ptrdiff_t pcharp_memcmp (PCHARP a, PCHARP b, int sz)
long pcharp_strlen (PCHARP a)
p_wchar1MEMCHR1 (p_wchar1 *p, p_wchar2 c, ptrdiff_t e)
p_wchar2MEMCHR2 (p_wchar2 *p, p_wchar2 c, ptrdiff_t e)
void swap (char *a, char *b, size_t size)
void reverse (char *memory, size_t nitems, size_t size)
void reorder (char *memory, INT32 nitems, INT32 size, INT32 *order)
size_t hashmem (const unsigned char *a_, size_t len_, size_t mlen_)
size_t hashstr (const unsigned char *str, ptrdiff_t maxn)
void memfill (char *to, INT32 tolen, char *from, INT32 fromlen, INT32 offset)
PMOD_EXPORT void * debug_xalloc (size_t size)
PMOD_EXPORT void debug_xfree (void *mem)
PMOD_EXPORT void * debug_xmalloc (size_t s)
PMOD_EXPORT void * debug_xrealloc (void *m, size_t s)
PMOD_EXPORT void * debug_xcalloc (size_t n, size_t s)
char * debug_qalloc (size_t size)
void * mexec_alloc (size_t sz)
void * mexec_realloc (void *ptr, size_t sz)
void mexec_free (void *ptr)

Define Documentation

#define DO_IF_TRACE_MEMLOC  ) 
 

#define DOSIZE X,
 ) 
 

Value:

case X:                                 \
 {                                              \
  Y *from=(Y *) memory;                         \
  Y *to=(Y *) tmp;                              \
  for(e=0;e<nitems;e++) to[e]=from[order[e]];   \
  break;                                        \
 }

#define DOSIZE X,
 ) 
 

Value:

case X:                                                 \
 {                                                              \
  Y tmp;                                                        \
  Y *start=(Y *) memory;                                        \
  Y *end=start+nitems-1;                                        \
  while(start<end){tmp=*start;*(start++)=*end;*(end--)=tmp;}    \
  break;                                                        \
 }

#define MK_HASHMEM NAME,
TYPE   ) 
 

Value:

size_t NAME(const TYPE *str, ptrdiff_t len, ptrdiff_t maxn)     \
  {                                                             \
    size_t ret,c;                                               \
                                                                \
    ret = len*92873743;                                         \
                                                                \
    len = MINIMUM(maxn,len);                                    \
    for(; len>=0; len--)                                        \
    {                                                           \
      c=str++[0];                                               \
      ret ^= ( ret << 4 ) + c ;                                 \
      ret &= 0x7fffffff;                                        \
    }                                                           \
                                                                \
    return ret;                                                 \
  }


Function Documentation

char* debug_qalloc size_t  size  ) 
 

PMOD_EXPORT void* debug_xalloc size_t  size  ) 
 

PMOD_EXPORT void* debug_xcalloc size_t  n,
size_t  s
 

PMOD_EXPORT void debug_xfree void *  mem  ) 
 

PMOD_EXPORT void* debug_xmalloc size_t  s  ) 
 

PMOD_EXPORT void* debug_xrealloc void *  m,
size_t  s
 

size_t hashmem const unsigned char *  a_,
size_t  len_,
size_t  mlen_
 

size_t hashstr const unsigned char *  str,
ptrdiff_t  maxn
 

p_wchar1* MEMCHR1 p_wchar1 p,
p_wchar2  c,
ptrdiff_t  e
 

p_wchar2* MEMCHR2 p_wchar2 p,
p_wchar2  c,
ptrdiff_t  e
 

void memfill char *  to,
INT32  tolen,
char *  from,
INT32  fromlen,
INT32  offset
 

void* mexec_alloc size_t  sz  ) 
 

void mexec_free void *  ptr  ) 
 

void* mexec_realloc void *  ptr,
size_t  sz
 

ptrdiff_t pcharp_memcmp PCHARP  a,
PCHARP  b,
int  sz
 

long pcharp_strlen PCHARP  a  ) 
 

void reorder char *  memory,
INT32  nitems,
INT32  size,
INT32 *  order
 

void reverse char *  memory,
size_t  nitems,
size_t  size
 

char* strdup const char *  str  ) 
 

void swap char *  a,
char *  b,
size_t  size
 


Generated on Fri Jul 22 23:44:30 2005 for Pike by  doxygen 1.3.9.1