- Import libnode-2.3.0 pre release,
- Fix args order in ND_Value_Alloc() calls.
This commit is contained in:
parent
68336ef3b6
commit
785e178b87
@ -1404,7 +1404,7 @@ DRT_Status DR_Layer_Add( DRT_Layer **Layer_Ptr_Ptr, NDT_Root *DS_Ptr, DRT_Lay
|
|||||||
NDT_Status nd_status;
|
NDT_Status nd_status;
|
||||||
|
|
||||||
|
|
||||||
if( ( nd_status = ND_Value_Alloc( DS_Ptr, (void **)Layer_Ptr_Ptr, Layer_Template_Ptr)) != NDS_OK)
|
if( ( nd_status = ND_Value_Alloc( (void **)Layer_Ptr_Ptr, DS_Ptr, Layer_Template_Ptr)) != NDS_OK)
|
||||||
{
|
{
|
||||||
printf( "Can't allocate new layer: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
printf( "Can't allocate new layer: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
||||||
return( DRS_KO);
|
return( DRS_KO);
|
||||||
@ -1622,7 +1622,7 @@ DRT_Status DR_Instrument_Add( DRT_Instrument **Instrument_Ptr_Ptr, NDT_Root *
|
|||||||
NDT_Status nd_status;
|
NDT_Status nd_status;
|
||||||
|
|
||||||
|
|
||||||
if( ( nd_status = ND_Value_Alloc( DS_Ptr, (void **)Instrument_Ptr_Ptr, Instrument_Template_Ptr)) != NDS_OK)
|
if( ( nd_status = ND_Value_Alloc( (void **)Instrument_Ptr_Ptr, DS_Ptr, Instrument_Template_Ptr)) != NDS_OK)
|
||||||
{
|
{
|
||||||
printf( "Can't allocate new instrument: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
printf( "Can't allocate new instrument: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
||||||
return( DRS_KO);
|
return( DRS_KO);
|
||||||
@ -1736,7 +1736,7 @@ DRT_Status DR_Kit_Add( DRT_Kit **Kit_Ptr_Ptr, NDT_Root *DS_Ptr, DRT_Kit *Kit
|
|||||||
NDT_Status nd_status;
|
NDT_Status nd_status;
|
||||||
|
|
||||||
|
|
||||||
if( ( nd_status = ND_Value_Alloc( DS_Ptr, (void **)Kit_Ptr_Ptr, Kit_Template_Ptr)) != NDS_OK)
|
if( ( nd_status = ND_Value_Alloc( (void **)Kit_Ptr_Ptr, DS_Ptr, Kit_Template_Ptr)) != NDS_OK)
|
||||||
{
|
{
|
||||||
printf( "Can't allocate new kit: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
printf( "Can't allocate new kit: ND_Value_Alloc() failed (%d)!\n", nd_status);
|
||||||
return( DRS_KO);
|
return( DRS_KO);
|
||||||
|
@ -144,7 +144,7 @@ NDT_Status ND_Default_Allocator( void **, size_t, void *);
|
|||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Redéfinition de la fonction free() avec retour de type NDT_Status */
|
/* Redéfinition de la fonction free() avec retour de type NDT_Status */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDT_Status ND_Default_Desallocator( void *, void *);
|
NDT_Status ND_Default_Deallocator( void *, void *);
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Création d'un noeud */
|
/* Création d'un noeud */
|
||||||
@ -168,7 +168,7 @@ NDT_Status ND_Node_Free( NDT_Root *, NDT_Node *);
|
|||||||
/* (O) Root: adresse d'un pointeur sur la racine de la nouvelle structure */
|
/* (O) Root: adresse d'un pointeur sur la racine de la nouvelle structure */
|
||||||
/* (I) Type: type de la structure.de données (liste ou arbre binaire) */
|
/* (I) Type: type de la structure.de données (liste ou arbre binaire) */
|
||||||
/* (I) Allocator: pointeur vers la fonction d'allocation */
|
/* (I) Allocator: pointeur vers la fonction d'allocation */
|
||||||
/* (I) Desallocator: pointeur vers la fonction de désallocation */
|
/* (I) Deallocator: pointeur vers la fonction de désallocation */
|
||||||
/* (I) Data : pointeur de données utiles à l'allocateur */
|
/* (I) Data : pointeur de données utiles à l'allocateur */
|
||||||
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
|
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
@ -180,10 +180,10 @@ NDT_Status ND_Index_Clear( NDT_Root *, NDT_Index_Id);
|
|||||||
/* (O) New_Root : adresse du pointeur sur la nouvelle racine */
|
/* (O) New_Root : adresse du pointeur sur la nouvelle racine */
|
||||||
/* (I) Type : type de la structure de données */
|
/* (I) Type : type de la structure de données */
|
||||||
/* (I) Allocater : pointeur vers la fonction d'allocation */
|
/* (I) Allocater : pointeur vers la fonction d'allocation */
|
||||||
/* (I) Desallocater : pointeur vers la fonction de désallocation */
|
/* (I) Deallocater : pointeur vers la fonction de désallocation */
|
||||||
/* (I) Data : pointeur de données utiles à l'allocateur */
|
/* (I) Data : pointeur de données utiles à l'allocateur */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDT_Status ND_Node_Root_Alloc( NDT_Root **, NDT_Index_Nb, NDT_Index_Type[], char *, NDT_Manager *, char *, NDT_Allocator *, char *, NDT_Desallocator *, short, void *);
|
NDT_Status ND_Node_Root_Alloc( NDT_Root **, NDT_Index_Nb, NDT_Index_Type[], char *, NDT_Manager *, char *, NDT_Allocator *, char *, NDT_Deallocator *, short, void *);
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Destruction d'une racine */
|
/* Destruction d'une racine */
|
||||||
|
477
node.h
477
node.h
@ -29,7 +29,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _LIBNODE_H_
|
#ifndef _LIBNODE_H_
|
||||||
# define _LIBNODE_H_
|
# define _LIBNODE_H_
|
||||||
|
|
||||||
@ -53,27 +52,20 @@ extern "C" {
|
|||||||
|
|
||||||
|
|
||||||
# define NDD_TRUE 1
|
# define NDD_TRUE 1
|
||||||
|
|
||||||
# define NDD_FALSE 0
|
# define NDD_FALSE 0
|
||||||
|
|
||||||
# define NDD_MIN(A,B) ( ( A > B) ? B : A)
|
# define NDD_MIN(A,B) ( ( A > B) ? B : A)
|
||||||
|
|
||||||
# define NDD_MAX(A,B) ( ( A < B) ? B : A)
|
# define NDD_MAX(A,B) ( ( A < B) ? B : A)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Différence de profondeur entre la branche la plus courte et
|
Default allowed maximum depth between tree branches before rebalancing
|
||||||
la plus longue d'un arbre.
|
|
||||||
Le dépassement de ce seuil provoque le rééquilibrage de l'arbre
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# define DEF_MAX_DIF 100
|
# define DEF_MAX_DIF 100
|
||||||
|
|
||||||
/* Types de structure */
|
/* Types de structure */
|
||||||
|
|
||||||
typedef short NDT_Root_Type;
|
typedef short NDT_Root_Type;
|
||||||
|
|
||||||
typedef int NDT_Index_Type;
|
typedef int NDT_Index_Type;
|
||||||
|
|
||||||
# define NDD_INDEX_MSK 0xffff
|
# define NDD_INDEX_MSK 0xffff
|
||||||
@ -118,13 +110,13 @@ typedef int NDT_Index_Type;
|
|||||||
|
|
||||||
|
|
||||||
# define NDD_INDEX_SUBTYPE_UNKNOWN 0x0000
|
# define NDD_INDEX_SUBTYPE_UNKNOWN 0x0000
|
||||||
#define NDD_INDEX_SUBTYPE_FIFO 0x0100 /* principe de la file d'attente (First In First Out) */
|
# define NDD_INDEX_SUBTYPE_FIFO 0x0100 /* First In First Out list (queue) */
|
||||||
# define NDD_INDEX_SUBTYPE_LILO NDD_INDEX_SUBTYPE_FIFO
|
# define NDD_INDEX_SUBTYPE_LILO NDD_INDEX_SUBTYPE_FIFO
|
||||||
#define NDD_INDEX_SUBTYPE_LIFO 0x0200 /* principe de la pile (First In Last Out) */
|
# define NDD_INDEX_SUBTYPE_LIFO 0x0200 /* First In Last Out list (stack) */
|
||||||
# define NDD_INDEX_SUBTYPE_FILO NDD_INDEX_SUBTYPE_LIFO
|
# define NDD_INDEX_SUBTYPE_FILO NDD_INDEX_SUBTYPE_LIFO
|
||||||
#define NDD_INDEX_SUBTYPE_SORTED 0x0300 /* liste triée */
|
# define NDD_INDEX_SUBTYPE_SORTED 0x0300 /* Sorted list */
|
||||||
# define NDD_INDEX_SUBTYPE_UNBALANCED 0x0400
|
# define NDD_INDEX_SUBTYPE_UNBALANCED 0x0400
|
||||||
#define NDD_INDEX_SUBTYPE_BALANCED 0x0500 /* arbre auto-équilibré */
|
# define NDD_INDEX_SUBTYPE_BALANCED 0x0500 /* Auto balanced tree */
|
||||||
# define NDD_INDEX_SUBTYPE_MSK ( NDD_INDEX_SUBTYPE_UNKNOWN | NDD_INDEX_SUBTYPE_FIFO | NDD_INDEX_SUBTYPE_FILO | NDD_INDEX_SUBTYPE_SORTED | NDD_INDEX_SUBTYPE_UNBALANCED | NDD_INDEX_SUBTYPE_BALANCED)
|
# define NDD_INDEX_SUBTYPE_MSK ( NDD_INDEX_SUBTYPE_UNKNOWN | NDD_INDEX_SUBTYPE_FIFO | NDD_INDEX_SUBTYPE_FILO | NDD_INDEX_SUBTYPE_SORTED | NDD_INDEX_SUBTYPE_UNBALANCED | NDD_INDEX_SUBTYPE_BALANCED)
|
||||||
# define NDD_INDEX_SUBTYPE_RMSK ( NDD_INDEX_MSK ^ NDD_INDEX_SUBTYPE_MSK)
|
# define NDD_INDEX_SUBTYPE_RMSK ( NDD_INDEX_MSK ^ NDD_INDEX_SUBTYPE_MSK)
|
||||||
|
|
||||||
@ -494,7 +486,7 @@ typedef int NDT_Index_Type;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Commandes du manager */
|
/* Manager Commands */
|
||||||
|
|
||||||
typedef int NDT_Command;
|
typedef int NDT_Command;
|
||||||
|
|
||||||
@ -518,7 +510,7 @@ typedef char *NDT_Version_Name;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Types de réponse du manager ou code retour des diverses fonctions */
|
/* Manager or Functions Return Codes */
|
||||||
|
|
||||||
typedef int NDT_Status;
|
typedef int NDT_Status;
|
||||||
|
|
||||||
@ -534,8 +526,8 @@ typedef int NDT_Status;
|
|||||||
# define NDS_GREATER 2
|
# define NDS_GREATER 2
|
||||||
# define NDS_LOWER 3
|
# define NDS_LOWER 3
|
||||||
|
|
||||||
#define NDS_ERRMEM -1 /* Problème d'allocation mémoire */
|
# define NDS_ERRMEM -1 /* Memory allocation problem */
|
||||||
#define NDS_ERRAPI -2 /* Utilisation incorrecte des API */
|
# define NDS_ERRAPI -2 /* Bad API usage */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -552,7 +544,7 @@ struct NDT_Node;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Pointeur de fonction sur le manager */
|
/* Manager function pointer */
|
||||||
|
|
||||||
# define NDD_MANAGER_NAME_LEN_MAX 64
|
# define NDD_MANAGER_NAME_LEN_MAX 64
|
||||||
# define NDD_MANAGER_NAME_SIZE_MAX ( NDD_MANAGER_NAME_LEN_MAX + 1)
|
# define NDD_MANAGER_NAME_SIZE_MAX ( NDD_MANAGER_NAME_LEN_MAX + 1)
|
||||||
@ -562,7 +554,7 @@ typedef char *NDT_Manager_Name;
|
|||||||
typedef NDT_Status NDT_Manager( struct NDT_Root *, NDT_Index_Id, struct NDT_Node *, NDT_Command, va_list *);
|
typedef NDT_Status NDT_Manager( struct NDT_Root *, NDT_Index_Id, struct NDT_Node *, NDT_Command, va_list *);
|
||||||
|
|
||||||
|
|
||||||
/* Pointeur de fonction sur l'allocateur */
|
/* Memory allocator function pointer */
|
||||||
|
|
||||||
# define NDD_ALLOCATOR_NAME_LEN_MAX 64
|
# define NDD_ALLOCATOR_NAME_LEN_MAX 64
|
||||||
# define NDD_ALLOCATOR_NAME_SIZE_MAX ( NDD_ALLOCATOR_NAME_LEN_MAX + 1)
|
# define NDD_ALLOCATOR_NAME_SIZE_MAX ( NDD_ALLOCATOR_NAME_LEN_MAX + 1)
|
||||||
@ -572,30 +564,30 @@ typedef char *NDT_Allocator_Name;
|
|||||||
typedef NDT_Status NDT_Allocator( void **, size_t, void *);
|
typedef NDT_Status NDT_Allocator( void **, size_t, void *);
|
||||||
|
|
||||||
|
|
||||||
/* Pointeur de fonction sur le désallocateur */
|
/* Memory deallocator function pointer */
|
||||||
|
|
||||||
#define NDD_DESALLOCATOR_NAME_LEN_MAX 64
|
# define NDD_DEALLOCATOR_NAME_LEN_MAX 64
|
||||||
#define NDD_DESALLOCATOR_NAME_SIZE_MAX (NDD_DESALLOCATOR_NAME_LEN_MAX + 1)
|
# define NDD_DEALLOCATOR_NAME_SIZE_MAX ( NDD_DEALLOCATOR_NAME_LEN_MAX + 1)
|
||||||
|
|
||||||
typedef char *NDT_Desallocator_Name;
|
typedef char *NDT_Deallocator_Name;
|
||||||
|
|
||||||
typedef NDT_Status NDT_Desallocator( void *, void *);
|
typedef NDT_Status NDT_Deallocator( void *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct NDT_Index
|
typedef struct NDT_Index
|
||||||
{
|
{
|
||||||
NDT_Index_Type Type; /* Type de la structure (liste, arbre ... ) */
|
NDT_Index_Type Type; /* Structure Type (Queue, Stack, Tree, ... ) */
|
||||||
|
|
||||||
long Node_Number; /* Nombre de noeuds dans la structure */
|
long Node_Number; /* Number of node in the structure */
|
||||||
long Min_Depth; /* Profondeur minimale de l'arbre */
|
long Min_Depth; /* Minimum tree depth */
|
||||||
long Max_Depth; /* Profondeur maximale de l'arbre */
|
long Max_Depth; /* Maximum tree depth */
|
||||||
long Max_Dif; /* Différence maximale autorisée entre la branche la plus courte et la plus longue */
|
long Max_Dif; /* Maximum allowed depth between tree branches before rebalancing */
|
||||||
long Nb_Equ; /* Nombre de réquilibrages réalisés sur l'arbre */
|
long Nb_Equ; /* Rebalancing count */
|
||||||
struct NDT_Node *Head; /* Noeud de tête */
|
struct NDT_Node *Head; /* Head node */
|
||||||
struct NDT_Node *Tail; /* Noeud de queue */
|
struct NDT_Node *Tail; /* Tail node */
|
||||||
struct NDT_Node *Save; /* Pointeur de sauvegarde (utile pour la fonction de restauration) */
|
struct NDT_Node *Save; /* Save pointer (Used by restore function) */
|
||||||
|
|
||||||
} NDT_Index;
|
} NDT_Index;
|
||||||
|
|
||||||
@ -603,18 +595,15 @@ typedef struct NDT_Index
|
|||||||
|
|
||||||
typedef struct NDT_Root
|
typedef struct NDT_Root
|
||||||
{
|
{
|
||||||
/* NDT_Root_Type Type;*/ /* Root Structure Type */
|
NDT_Manager *Manager_Ptr; /* Manager function pointer */
|
||||||
/* NDT_DataStruct_Type DS_Type;*/ /* Type de la structure (liste, arbre ... ) */
|
char Manager_Name[ NDD_MANAGER_NAME_SIZE_MAX]; /* Manager function name */
|
||||||
|
NDT_Allocator *Allocator_Ptr; /* Value allocator function pointer */
|
||||||
|
char Allocator_Name[ NDD_ALLOCATOR_NAME_SIZE_MAX]; /* Value allocator function name */
|
||||||
|
NDT_Deallocator *Deallocator_Ptr; /* Value deallocator function pointer */
|
||||||
|
char Deallocator_Name[ NDD_DEALLOCATOR_NAME_SIZE_MAX]; /* Value deallocator function name */
|
||||||
|
|
||||||
NDT_Manager *Manager_Ptr; /* Pointeur sur la fonction manager */
|
short Own_Value; /* Flag indicating if the structure is the node owner */
|
||||||
char Manager_Name[NDD_MANAGER_NAME_SIZE_MAX]; /* Nom de la fonction manager */
|
void *User_Ptr; /* User pointer */
|
||||||
NDT_Allocator *Allocator_Ptr; /* Pointeur sur la fonction d'allocation */
|
|
||||||
char Allocator_Name[NDD_ALLOCATOR_NAME_SIZE_MAX]; /* Nom de la fonction d'allocation */
|
|
||||||
NDT_Desallocator *Desallocator_Ptr; /* Pointeur sur la fonction de désallocation */
|
|
||||||
char Desallocator_Name[NDD_DESALLOCATOR_NAME_SIZE_MAX]; /* Nom de la fonction de désallocation */
|
|
||||||
|
|
||||||
short Own_Value; /* Indique si la structure est propriétaire de ses valeurs */
|
|
||||||
void *User_Ptr; /* Pointeur utilisable librement par l'utilisateur */
|
|
||||||
|
|
||||||
NDT_Index_Nb Index_Nb;
|
NDT_Index_Nb Index_Nb;
|
||||||
NDT_Index_Nb Index_Open_Count;
|
NDT_Index_Nb Index_Open_Count;
|
||||||
@ -630,14 +619,14 @@ typedef struct NDT_DataStruct
|
|||||||
NDT_Root *Root_Ptr;
|
NDT_Root *Root_Ptr;
|
||||||
|
|
||||||
NDT_Manager *Manager_Ptr; /* Manager function pointer */
|
NDT_Manager *Manager_Ptr; /* Manager function pointer */
|
||||||
NDT_Allocator *Allocator_Ptr; /* Allocator function pointer */
|
NDT_Allocator *Allocator_Ptr; /* Value allocator function pointer */
|
||||||
NDT_Desallocator *Desallocator_Ptr; /* Desallocator function pointer */
|
NDT_Deallocator *Deallocator_Ptr; /* Value deallocator function pointer */
|
||||||
|
|
||||||
} NDT_DataStruct;
|
} NDT_DataStruct;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Structure de noeud */
|
/* Node structure */
|
||||||
|
|
||||||
typedef struct NDT_Node
|
typedef struct NDT_Node
|
||||||
{
|
{
|
||||||
@ -667,13 +656,13 @@ typedef int NDT_Recursive_Offset;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Définition des alias de l'API */
|
/* Alias API definition */
|
||||||
|
|
||||||
# ifndef ND_MODE
|
# ifndef ND_MODE
|
||||||
# define ND_MODE 0
|
# define ND_MODE 0
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#if ND_MODE == 1 /* API sans vérification des arguments */
|
# if ND_MODE == 1 /* No arg checking API */
|
||||||
|
|
||||||
# define ND_Library_Open ND_Library_Open_I
|
# define ND_Library_Open ND_Library_Open_I
|
||||||
# define ND_Library_Close ND_Library_Close_I
|
# define ND_Library_Close ND_Library_Close_I
|
||||||
@ -721,9 +710,13 @@ typedef int NDT_Recursive_Offset;
|
|||||||
# define ND_Manager_Exec_V ND_Manager_Exec_VI
|
# define ND_Manager_Exec_V ND_Manager_Exec_VI
|
||||||
# define ND_Manager_Exec ND_Manager_Exec_I
|
# define ND_Manager_Exec ND_Manager_Exec_I
|
||||||
# define ND_Allocator_Exec ND_Allocator_Exec_I
|
# define ND_Allocator_Exec ND_Allocator_Exec_I
|
||||||
#define ND_Desallocator_Exec ND_Desallocator_Exec_I
|
# define ND_Deallocator_Exec ND_Deallocator_Exec_I
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# else /* Arg checking API */
|
||||||
|
|
||||||
|
|
||||||
#else /* API avec vérification des arguments */
|
|
||||||
|
|
||||||
# define ND_Library_Open ND_Library_Open_C
|
# define ND_Library_Open ND_Library_Open_C
|
||||||
# define ND_Library_Close ND_Library_Close_C
|
# define ND_Library_Close ND_Library_Close_C
|
||||||
@ -771,7 +764,7 @@ typedef int NDT_Recursive_Offset;
|
|||||||
# define ND_Manager_Exec_V ND_Manager_Exec_VC
|
# define ND_Manager_Exec_V ND_Manager_Exec_VC
|
||||||
# define ND_Manager_Exec ND_Manager_Exec_C
|
# define ND_Manager_Exec ND_Manager_Exec_C
|
||||||
# define ND_Allocator_Exec ND_Allocator_Exec_C
|
# define ND_Allocator_Exec ND_Allocator_Exec_C
|
||||||
#define ND_Desallocator_Exec ND_Desallocator_Exec_C
|
# define ND_Deallocator_Exec ND_Deallocator_Exec_C
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
@ -792,110 +785,128 @@ typedef int NDT_Recursive_Offset;
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Initialisation du contexte de la librairie */
|
/* Library initialisation */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDD_DLL_API NDT_Status ND_Library_Open_I ( int Debug_Mode );
|
/* (I) Debug_Mode: Open library in debug mode */
|
||||||
NDD_DLL_API NDT_Status ND_Library_Open_C ( int Debug_Mode );
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
NDD_DLL_API NDT_Status ND_Library_Open_I ( int);
|
||||||
|
NDD_DLL_API NDT_Status ND_Library_Open_C ( int);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Fermeture du contexte de la librairie */
|
/* Library deinitialisation */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Library_Close_I( void);
|
NDD_DLL_API NDT_Status ND_Library_Close_I( void);
|
||||||
NDD_DLL_API NDT_Status ND_Library_Close_C( void);
|
NDD_DLL_API NDT_Status ND_Library_Close_C( void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Définition de la sortie standard des messages d'erreur de la librairie */
|
/* Library Standard Error output setup */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
/* (I) Stream: StdErr output stream */
|
||||||
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Library_StdErr_Set_I( FILE *);
|
NDD_DLL_API NDT_Status ND_Library_StdErr_Set_I( FILE *);
|
||||||
NDD_DLL_API NDT_Status ND_Library_StdErr_Set_C( FILE *);
|
NDD_DLL_API NDT_Status ND_Library_StdErr_Set_C( FILE *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Création d'une nouvelle structure de données */
|
/* Create a new data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: adresse d'un pointeur sur la racine de la nouvelle structure */
|
/* (O) Root_Ptr_Ptr: Pointer adress of the new sata structure */
|
||||||
/* (I) Type: type de la structure.de données (liste ou arbre binaire) */
|
/* (I) Index_Nb: Number of index */
|
||||||
/* (I) Allocator: pointeur vers la fonction d'allocation */
|
/* (I) Index_Type_Ptr: Array of Index type (List, tree, ...) */
|
||||||
/* (I) Desallocator: pointeur vers la fonction de désallocation */
|
/* (I) Manager_Name: Manager function name */
|
||||||
/* (I) Data : pointeur de données utiles à l'allocateur */
|
/* (I) Manager_Ptr: Manager function pointer */
|
||||||
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
|
/* (I) Allocator_Name: Value allocator function name */
|
||||||
|
/* (I) Allocator_Ptr: Value allocator function pointer */
|
||||||
|
/* (I) Deallocator_Name: Value deallocator function name */
|
||||||
|
/* (I) Deallocator_Ptr: Value deallocator function pointer */
|
||||||
|
/* (I) Own_Value: Flag indicating if the structure is the node owner */
|
||||||
|
/* (I) Data_Ptr: User pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Open_I( NDT_Root **, NDT_Index_Nb, NDT_Index_Type *, NDT_Manager_Name, NDT_Manager *, NDT_Allocator_Name, NDT_Allocator *, NDT_Desallocator_Name, NDT_Desallocator *, short, void *);
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Open_C( NDT_Root **, NDT_Index_Nb, NDT_Index_Type *, NDT_Manager_Name, NDT_Manager *, NDT_Allocator_Name, NDT_Allocator *, NDT_Desallocator_Name, NDT_Desallocator *, short, void *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Open_I( NDT_Root **, NDT_Index_Nb, NDT_Index_Type *, NDT_Manager_Name, NDT_Manager *, NDT_Allocator_Name, NDT_Allocator *, NDT_Deallocator_Name, NDT_Deallocator *, short, void *);
|
||||||
|
NDD_DLL_API NDT_Status ND_DataStruct_Open_C( NDT_Root **, NDT_Index_Nb, NDT_Index_Type *, NDT_Manager_Name, NDT_Manager *, NDT_Allocator_Name, NDT_Allocator *, NDT_Deallocator_Name, NDT_Deallocator *, short, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Destruction d'une structure de données */
|
/* Destroy a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Close_I( NDT_Root *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Close_I( NDT_Root *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Close_C( NDT_Root *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Close_C( NDT_Root *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Destruction d'une structure de données */
|
/* Destroy all data of a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Flush_I( NDT_Root *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Flush_I( NDT_Root *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Flush_C( NDT_Root *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Flush_C( NDT_Root *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Function de réparation d'une structure : */
|
/* Check & repare a datat structure: */
|
||||||
/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */
|
/* - Check & fix node links */
|
||||||
/* - corrige les informations statistiques de la racine */
|
/* - Update data structure statistics */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de la structure */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (O) Nb_Detected : pointeur sur le nombre d'erreurs */
|
/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */
|
||||||
/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */
|
/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */
|
||||||
/* (I) Out : flux de sortie du rapport */
|
/* (I) Out: Output stream */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Check_I( NDT_Root *, int *, int *, FILE *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Check_I( NDT_Root *, int *, int *, FILE *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Check_C( NDT_Root *, int *, int *, FILE *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Check_C( NDT_Root *, int *, int *, FILE *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Réorganisation d'une structure de données : */
|
/* Convert a data structure indexe types */
|
||||||
/* - ordonnancement d'une liste non ordonnée */
|
|
||||||
/* - réquilibrage d'un arbre non auto-équilibré */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Type_Ptr: Array of index type (List, tree, ...) */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_I( NDT_Root *);
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_C( NDT_Root *);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
|
||||||
/* Conversion d'une structure de données d'un type en un autre */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
|
||||||
/* (I) Target_Type: type de structure cible */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Convert_I( NDT_Root *, NDT_Index_Type *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Convert_I( NDT_Root *, NDT_Index_Type *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Convert_C( NDT_Root *, NDT_Index_Type *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Convert_C( NDT_Root *, NDT_Index_Type *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Parcours de tous les noeuds d'une structure de données et exécution d'une */
|
/* Reorganise a data structure indexes: */
|
||||||
/* commande sur chacun d'eux */
|
/* - Sort a non-sorted list */
|
||||||
|
/* - Rebalance a non auto-balanced tree */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
|
|
||||||
/* (I) Data: pointeur de données utilisateur */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_I( NDT_Root *);
|
||||||
|
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_C( NDT_Root *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------------------*/
|
||||||
|
/* Traverse a data structure & execute a command on each node */
|
||||||
|
/*------------------------------------------------------------------------------*/
|
||||||
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Command: Manager command */
|
||||||
|
/* (I) ...: User args */
|
||||||
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_I( NDT_Root *, NDT_Command, ...);
|
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_I( NDT_Root *, NDT_Command, ...);
|
||||||
@ -904,45 +915,55 @@ NDD_DLL_API NDT_Status ND_DataStruct_Traverse_C( NDT_Root *, NDT_Command, ...
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Affichage d'informations sur une structure de données */
|
/* Print data structure information */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Stream: Output stream */
|
||||||
/* (I) Out : flux de sortie */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Recursive_Mode: Child or Parent */
|
||||||
|
/* (I) Recursive_Depth: Curent recursion depth */
|
||||||
|
/* (I) Recursive_Offset: Curent print out offset */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_I( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_I( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Ajout d'une valeur à une structure de données */
|
/* Add a new value to a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Value: pointeur sur la valeur à ajouter */
|
/* (I) Value_Ptr: Value pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *, void *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Suppression du premier noeud correspondant à une valeur donnée */
|
/* Remove the first matching value from a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Reference_Value : pointeur sur la valeur de référence */
|
/* (I) Ref_Value_Ptr: Reference value pointer to search */
|
||||||
/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *, void *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Affichage de la valeur de tous les noeuds d'une structure de données */
|
/* Print all the data structure values */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Stream: Output stream */
|
||||||
/* (I) Out : flux de sortie */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Recursive_Mode: Child or Parent */
|
||||||
|
/* (I) Recursive_Depth: Curent recursion depth */
|
||||||
|
/* (I) Recursive_Offset: Curent print out offset */
|
||||||
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_VI( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_VI( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_I( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_I( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
||||||
@ -950,12 +971,12 @@ NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_C( FILE *, NDT_Root *, NDT_
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Recherche un noeud à partir d'une valeur */
|
/* Find a value in a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de l'abre */
|
/* (O) Value_Ptr_Ptr: Value pointer address found */
|
||||||
/* (O) Node : pointeur sur le noeud à récuperer */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Value : pointeur sur la valeur à rechercher */
|
/* (I) Ref_Value_Ptr: Reference value pointer to search */
|
||||||
/* (I) Data : pointeur de données */
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_VI( void **, NDT_Root *, void *, va_list *);
|
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_VI( void **, NDT_Root *, void *, va_list *);
|
||||||
@ -966,86 +987,95 @@ NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_C( void **, NDT_Root *, void
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Create a new index (not yet implemented !) */
|
/* Create a new index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: adresse d'un pointeur sur la racine de la nouvelle structure */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Type: type de la structure.de données (liste ou arbre binaire) */
|
/* (I) Index_Id: Id of the index */
|
||||||
/* (I) Allocator: pointeur vers la fonction d'allocation */
|
/* (I) Index_Type: Index type (List, tree, ...) */
|
||||||
/* (I) Desallocator: pointeur vers la fonction de désallocation */
|
|
||||||
/* (I) Data : pointeur de données utiles à l'allocateur */
|
|
||||||
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Open_I( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
NDD_DLL_API NDT_Status ND_Index_Open_I( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Open_C( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
NDD_DLL_API NDT_Status ND_Index_Open_C( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Remove an Index (not yet implemented !) */
|
/* Remove an Index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Close_I( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Close_I( NDT_Root *, NDT_Index_Id);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Close_C( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Close_C( NDT_Root *, NDT_Index_Id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Remove an Index (not yet implemented !) */
|
/* Remove an Index (Private API ?) */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Flush_I( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Flush_I( NDT_Root *, NDT_Index_Id);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Flush_C( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Flush_C( NDT_Root *, NDT_Index_Id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Function de réparation d'une structure : */
|
/* Check & repare a data structure index: */
|
||||||
/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */
|
/* - Check & fix node links */
|
||||||
/* - corrige les informations statistiques de la racine */
|
/* - Update data structure statistics */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de la structure */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (O) Nb_Detected : pointeur sur le nombre d'erreurs */
|
/* (I) Index_Id: Id of the index */
|
||||||
/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */
|
/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */
|
||||||
/* (I) Out : flux de sortie du rapport */
|
/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */
|
||||||
|
/* (I) Out: Output stream */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Check_I( NDT_Root *, NDT_Index_Id, int *, int *, FILE *);
|
NDD_DLL_API NDT_Status ND_Index_Check_I( NDT_Root *, NDT_Index_Id, int *, int *, FILE *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Check_C( NDT_Root *, NDT_Index_Id, int *, int *, FILE *);
|
NDD_DLL_API NDT_Status ND_Index_Check_C( NDT_Root *, NDT_Index_Id, int *, int *, FILE *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Conversion d'une structure de données d'un type en un autre */
|
/* Convert a data structure index to another type */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Target_Type: type de structure cible */
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Index_Type: Index type (List, tree, ...) */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Convert_I ( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
NDD_DLL_API NDT_Status ND_Index_Convert_I ( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Convert_C ( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
NDD_DLL_API NDT_Status ND_Index_Convert_C ( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Réorganisation d'une structure de données : */
|
/* Reorganise a data structure index: */
|
||||||
/* - ordonnancement d'une liste non ordonnée */
|
/* - Sort a non-sorted list */
|
||||||
/* - réquilibrage d'un arbre non auto-équilibré */
|
/* - Rebalance a non auto-balanced tree */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Reorg_I( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Reorg_I( NDT_Root *, NDT_Index_Id);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Reorg_C( NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Reorg_C( NDT_Root *, NDT_Index_Id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Parcours de tous les noeuds d'une structure de données et exécution d'une */
|
/* Traverse a data structure index & execute a command on each node */
|
||||||
/* commande sur chacun d'eux */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
|
/* (I) Index_Id: Id of the index */
|
||||||
/* (I) Data: pointeur de données utilisateur */
|
/* (I) Command: Manager command */
|
||||||
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Traverse_VI( NDT_Root *, NDT_Index_Id, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_Index_Traverse_VI( NDT_Root *, NDT_Index_Id, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Traverse_VC( NDT_Root *, NDT_Index_Id, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_Index_Traverse_VC( NDT_Root *, NDT_Index_Id, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Traverse_I( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
|
NDD_DLL_API NDT_Status ND_Index_Traverse_I( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
|
||||||
@ -1054,47 +1084,59 @@ NDD_DLL_API NDT_Status ND_Index_Traverse_C( NDT_Root *, NDT_Index_Id, NDT_Com
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Parcours de tous les noeuds d'une structure de données et exécution d'une */
|
/* Print data structure index information */
|
||||||
/* commande sur chacun d'eux */
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Stream: Output stream */
|
||||||
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Data: pointeur de données utilisateur */
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Recursive_Mode: Child or Parent */
|
||||||
|
/* (I) Recursive_Depth: Curent recursion depth */
|
||||||
|
/* (I) Recursive_Offset: Curent print out offset */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Info_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
NDD_DLL_API NDT_Status ND_Index_Info_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Info_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
NDD_DLL_API NDT_Status ND_Index_Info_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Ajout d'une valeur à une structure de données */
|
/* Add a new value to a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Value: pointeur sur la valeur à ajouter */
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Value_Ptr: Value pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Add_I( NDT_Root *, NDT_Index_Id, void *);
|
NDD_DLL_API NDT_Status ND_Index_Value_Add_I( NDT_Root *, NDT_Index_Id, void *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Add_C( NDT_Root *, NDT_Index_Id, void *);
|
NDD_DLL_API NDT_Status ND_Index_Value_Add_C( NDT_Root *, NDT_Index_Id, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Suppression du premier noeud correspondant à une valeur donnée */
|
/* Remove the first matching value from a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Reference_Value : pointeur sur la valeur de référence */
|
/* (I) Index_Id: Id of the index */
|
||||||
/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */
|
/* (I) Ref_Value_Ptr: Reference value pointer to search */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Remove_I( NDT_Root *, NDT_Index_Id, void *);
|
NDD_DLL_API NDT_Status ND_Index_Value_Remove_I( NDT_Root *, NDT_Index_Id, void *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Remove_C( NDT_Root *, NDT_Index_Id, void *);
|
NDD_DLL_API NDT_Status ND_Index_Value_Remove_C( NDT_Root *, NDT_Index_Id, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Affichage de la valeur de tous les noeuds d'une structure de données */
|
/* Print all the data structure index values */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Stream: Output stream */
|
||||||
/* (I) Out : flux de sortie */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Recursive_Mode: Child or Parent */
|
||||||
|
/* (I) Recursive_Depth: Curent recursion depth */
|
||||||
|
/* (I) Recursive_Offset: Curent print out offset */
|
||||||
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Print_VI( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list *);
|
NDD_DLL_API NDT_Status ND_Index_Value_Print_VI( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
NDD_DLL_API NDT_Status ND_Index_Value_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Value_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
NDD_DLL_API NDT_Status ND_Index_Value_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
|
||||||
@ -1102,78 +1144,89 @@ NDD_DLL_API NDT_Status ND_Index_Value_Print_C( FILE *, NDT_Root *, NDT_Index
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Ajout d'un noeud à une structure de données */
|
/* Add a new node to a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Node: pointeur sur le noeud à ajouter */
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Node_Ptr: Node pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Add_I( NDT_Root *, NDT_Index_Id, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Add_I( NDT_Root *, NDT_Index_Id, NDT_Node *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Add_C( NDT_Root *, NDT_Index_Id, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Add_C( NDT_Root *, NDT_Index_Id, NDT_Node *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Suppression d'un noeud dans une structure de données */
|
/* Remove a node from a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Node: pointeur sur le noeud à supprimer de la structure de données */
|
/* (I) Node_Ptr: Node pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Remove_I( NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Remove_I( NDT_Node *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Remove_C( NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Remove_C( NDT_Node *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Récupération du premier noeud d'une structure */
|
/* Get the first node of a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine dont on cherche le premier noeud */
|
/* (O) Node_Ptr_Ptr: Node pointer address */
|
||||||
/* (O) Node : pointeur sur le noeud à récupérer */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_First_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Node_First_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_First_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Node_First_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Récupération du dernier noeud d'une structure */
|
/* Get the last node of a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine dont on cherche le dernier noeud */
|
/* (O) Node_Ptr_Ptr: Node pointer address */
|
||||||
/* (O) Node : pointeur sur le noeud à récupérer */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Last_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Node_Last_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Last_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
NDD_DLL_API NDT_Status ND_Index_Node_Last_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Récupération du noeud suivant */
|
/* Get the next node of a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Node: pointeur sur le noeud dont on cherche le suivant */
|
/* (O) Node_Ptr_Ptr: Node pointer address */
|
||||||
/* (O) Next_Node : pointeur sur le noeud suivant */
|
/* (I) Node_Ptr: Node pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_I( NDT_Node **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_I( NDT_Node **, NDT_Node *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **, NDT_Node *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Récupération du noeud précédant */
|
/* Get the previous node of a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Node: pointeur sur le noeud dont on cherche le précédant */
|
/* (O) Node_Ptr_Ptr: Node pointer address */
|
||||||
/* (O) Prev_Node : pointeur sur le noeud précédant */
|
/* (I) Node_Ptr: Node pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **, NDT_Node *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **, NDT_Node *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Recherche un noeud à partir d'une valeur */
|
/* Find a node from a value in a data structure index */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de l'abre */
|
/* (O) Node_Ptr_Ptr: Node pointer address */
|
||||||
/* (O) Node : pointeur sur le noeud à récuperer */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Value : pointeur sur la valeur à rechercher */
|
/* (I) Index_Id: Id of the index */
|
||||||
/* (I) Data : pointeur de données */
|
/* (I) Ref_Value_Ptr: Reference value pointer to search */
|
||||||
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Find_VI( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Find_VI( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Find_VC( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list *);
|
NDD_DLL_API NDT_Status ND_Index_Node_Find_VC( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Index_Node_Find_I( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, ...);
|
NDD_DLL_API NDT_Status ND_Index_Node_Find_I( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, ...);
|
||||||
@ -1182,44 +1235,52 @@ NDD_DLL_API NDT_Status ND_Index_Node_Find_C( NDT_Node **, NDT_Root *, NDT_In
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Récupération de la racine d'une structure */
|
/* Get the root node of a data structure */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (O) Root: Adresse du pointeur sur la racine à récupérer */
|
/* (O) Root_Ptr_Ptr: Data structure pointer address */
|
||||||
/* (I) Node: pointeur sur le noeud dont on cherche la racine */
|
/* (I) Node_Ptr: Node pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Node_Root_Get_I( NDT_Root **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Node_Root_Get_I( NDT_Root **, NDT_Node *);
|
||||||
NDD_DLL_API NDT_Status ND_Node_Root_Get_C( NDT_Root **, NDT_Node *);
|
NDD_DLL_API NDT_Status ND_Node_Root_Get_C( NDT_Root **, NDT_Node *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Allocation d'une valeur d'une structure de données */
|
/* Allocate a new value */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root : pointeur sur la racine de la structure de données */
|
/* (O) Value_Ptr_Ptr: Value pointer address */
|
||||||
/* (O) Value : adresse d'un pointeur sur la valeur à allouer */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) ... : arguments relatifs à l'allocation de la valeur */
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDD_DLL_API NDT_Status ND_Value_Alloc_I( NDT_Root *, void **, ...);
|
|
||||||
NDD_DLL_API NDT_Status ND_Value_Alloc_C( NDT_Root *, void **, ...);
|
NDD_DLL_API NDT_Status ND_Value_Alloc_I( void **, NDT_Root *, ...);
|
||||||
|
NDD_DLL_API NDT_Status ND_Value_Alloc_C( void **, NDT_Root *, ...);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Désallocation d'une valeur d'une structure de données */
|
/* Deallocate a value */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Root: pointeur sur la racine de la structure de données */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
/* (I) Value: pointeur sur la valeur à désallouer */
|
/* (I) Value_Ptr: Value pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Value_Free_I( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_Value_Free_I( NDT_Root *, void *);
|
||||||
NDD_DLL_API NDT_Status ND_Value_Free_C( NDT_Root *, void *);
|
NDD_DLL_API NDT_Status ND_Value_Free_C( NDT_Root *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Exécution d'une fonction Manager dont le nom est passé en paramètre */
|
/* Execute a manager command */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Function : nom de la fonction manager à exécuter */
|
/* (I) Root_Ptr: Data structure pointer */
|
||||||
|
/* (I) Index_Id: Id of the index */
|
||||||
|
/* (I) Node_Ptr: Node pointer */
|
||||||
|
/* (I) Command: Manager command */
|
||||||
|
/* (I) ...: User args */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Manager_Exec_VI( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_Manager_Exec_VI( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Manager_Exec_VC( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
NDD_DLL_API NDT_Status ND_Manager_Exec_VC( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list *);
|
||||||
NDD_DLL_API NDT_Status ND_Manager_Exec_I( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, ...);
|
NDD_DLL_API NDT_Status ND_Manager_Exec_I( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, ...);
|
||||||
@ -1228,28 +1289,30 @@ NDD_DLL_API NDT_Status ND_Manager_Exec_C( NDT_Root *, NDT_Index_Id, NDT_Node
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Exécution d'une fonction d'allocation dont le nom est passé en paramètre */
|
/* Execute an allocator function */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Function : nom de la fonction à exécuter */
|
/* (O) Value_Ptr_Ptr: Value pointer address */
|
||||||
/* (O) Ptr : adresse d'un pointeur sur la zone à allouer */
|
/* (I) Allocator_Name: Value allocator function name */
|
||||||
/* (I) Size : taille de la zone à allouer */
|
/* (I) Allocator_Ptr: Value allocator function pointer */
|
||||||
/* (I) Data : pointeur de données utiles à l'allocateur */
|
/* (I) Data_Ptr: User pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
NDD_DLL_API NDT_Status ND_Allocator_Exec_I( void **, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
|
NDD_DLL_API NDT_Status ND_Allocator_Exec_I( void **, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
|
||||||
NDD_DLL_API NDT_Status ND_Allocator_Exec_C( void **, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
|
NDD_DLL_API NDT_Status ND_Allocator_Exec_C( void **, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* Exécution d'une fonction de désallocation le dont nom est passé en paramètre */
|
/* Execute a deallocator function */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
/* (I) Function : nom de la fonction à exécuter */
|
/* (I) Value_Ptr: Value pointer */
|
||||||
/* (I) Function : nom de la fonction à exécuter */
|
/* (I) Allocator_Name: Value deallocator function name */
|
||||||
/* (I) Ptr : adresse de la zone à désallouer */
|
/* (I) Allocator_Ptr: Value deallocator function pointer */
|
||||||
/* (I) Data : pointeur de données utiles au désallocateur */
|
/* (I) Data_Ptr: User pointer */
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
NDD_DLL_API NDT_Status ND_Desallocator_Exec_I( void *, NDT_Desallocator_Name, NDT_Desallocator *, void *);
|
|
||||||
NDD_DLL_API NDT_Status ND_Desallocator_Exec_C( void *, NDT_Desallocator_Name, NDT_Desallocator *, void *);
|
NDD_DLL_API NDT_Status ND_Deallocator_Exec_I( void *, NDT_Deallocator_Name, NDT_Deallocator *, void *);
|
||||||
|
NDD_DLL_API NDT_Status ND_Deallocator_Exec_C( void *, NDT_Deallocator_Name, NDT_Deallocator *, void *);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user