ARB
Classes | Macros | Functions | Variables
struct_man.c File Reference
#include <aisc.h>
#include <struct_man.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for struct_man.c:

Go to the source code of this file.

Classes

struct  aisc_hash_node
 
struct  trf_dest_struct
 
struct  trf_struct
 

Macros

#define CORE
 
#define HASH_SIZE   103123
 
#define TRF_HASH_SIZE   103123
 

Functions

static aisc_hash_node ** aisc_init_hash (int size)
 
static int aisc_hash (const char *key, int size)
 
static void aisc_free_key (aisc_hash_node **table, char *key)
 
static void aisc_free_hash (aisc_hash_node **table)
 
static void aisc_insert_hash (aisc_hash_node **table, char *key, long data)
 
long aisc_read_hash (aisc_hash_node **table, const char *key)
 
const charaisc_link (dllpublic_ext *father, dllheader_ext *object)
 
const charaisc_unlink (dllheader_ext *object)
 
long aisc_find_lib (dllpublic_ext *parent, char *ident)
 
static int trf_hash (long p)
 
void trf_create (long old, long new_item)
 
void trf_link (long old, long *dest)
 
void trf_begin ()
 
void trf_commit (int errors)
 

Variables

static int trf_level = 0
 
static struct trf_struct ** trf_sp = NULp
 

Macro Definition Documentation

#define CORE

Definition at line 25 of file struct_man.c.

Referenced by aisc_link(), and aisc_unlink().

#define HASH_SIZE   103123

Definition at line 26 of file struct_man.c.

Referenced by aisc_link().

#define TRF_HASH_SIZE   103123

Definition at line 27 of file struct_man.c.

Referenced by trf_begin(), trf_commit(), and trf_hash().

Function Documentation

static aisc_hash_node** aisc_init_hash ( int  size)
static

Definition at line 36 of file struct_man.c.

References aisc_hash_node::data, aisc_hash_node::key, and tab().

Referenced by aisc_link().

static int aisc_hash ( const char key,
int  size 
)
static

Definition at line 45 of file struct_man.c.

Referenced by aisc_free_key(), aisc_insert_hash(), and aisc_read_hash().

static void aisc_free_key ( aisc_hash_node **  table,
char key 
)
static

Definition at line 56 of file struct_man.c.

References aisc_hash(), aisc_hash_node::data, aisc_hash_node::key, and aisc_hash_node::next.

Referenced by aisc_unlink().

static void aisc_free_hash ( aisc_hash_node **  table)
static

Definition at line 79 of file struct_man.c.

References aisc_hash_node::data, aisc_hash_node::key, and aisc_hash_node::next.

Referenced by aisc_unlink().

static void aisc_insert_hash ( aisc_hash_node **  table,
char key,
long  data 
)
static

Definition at line 93 of file struct_man.c.

References aisc_hash(), aisc_hash_node::data, aisc_hash_node::key, aisc_hash_node::next, and NULp.

Referenced by aisc_link().

long aisc_read_hash ( aisc_hash_node **  table,
const char key 
)

Definition at line 117 of file struct_man.c.

References aisc_hash(), aisc_hash_node::data, and aisc_hash_node::next.

Referenced by aisc_find_lib(), and aisc_link().

const char* aisc_link ( dllpublic_ext *  father,
dllheader_ext *  object 
)

Definition at line 131 of file struct_man.c.

References aisc_init_hash(), aisc_insert_hash(), aisc_read_hash(), CORE, father, HASH_SIZE, long, and NULp.

const char* aisc_unlink ( dllheader_ext *  object)
long aisc_find_lib ( dllpublic_ext *  parent,
char ident 
)

Definition at line 229 of file struct_man.c.

References aisc_read_hash().

static int trf_hash ( long  p)
static

Definition at line 248 of file struct_man.c.

References TRF_HASH_SIZE.

Referenced by trf_create(), and trf_link().

void trf_create ( long  old,
long  new_item 
)
void trf_link ( long  old,
long dest 
)
void trf_begin ( void  )

Definition at line 307 of file struct_man.c.

References TRF_HASH_SIZE.

void trf_commit ( int  errors)

Variable Documentation

int trf_level = 0
static

Definition at line 252 of file struct_man.c.

struct trf_struct** trf_sp = NULp
static

Definition at line 253 of file struct_man.c.