From 785e178b876796bf9cfe88e13abccade172ecc49 Mon Sep 17 00:00:00 2001 From: "Arnaud G. GIBERT" Date: Thu, 17 Aug 2023 19:45:24 +0200 Subject: [PATCH] - Import libnode-2.3.0 pre release, - Fix args order in ND_Value_Alloc() calls. --- datastruct.c | 6 +- libnode.c | 813 +++++++++++++++++++++++++--------------------- libnode.h | 8 +- node.h | 891 +++++++++++++++++++++++++++------------------------ 4 files changed, 935 insertions(+), 783 deletions(-) diff --git a/datastruct.c b/datastruct.c index 125011c..0d9b0be 100644 --- a/datastruct.c +++ b/datastruct.c @@ -1404,7 +1404,7 @@ DRT_Status DR_Layer_Add( DRT_Layer **Layer_Ptr_Ptr, NDT_Root *DS_Ptr, DRT_Lay 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); return( DRS_KO); @@ -1622,7 +1622,7 @@ DRT_Status DR_Instrument_Add( DRT_Instrument **Instrument_Ptr_Ptr, NDT_Root * 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); 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; - 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); return( DRS_KO); diff --git a/libnode.c b/libnode.c index ea4c612..94e43f5 100644 --- a/libnode.c +++ b/libnode.c @@ -662,7 +662,9 @@ NDT_Status ND_OpenStruct_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, /*------------------------------------------------------------------------------*/ -/* Initialisation du contexte de la librairie */ +/* Library initialisation */ +/*------------------------------------------------------------------------------*/ +/* (I) Debug_Mode: Open library in debug mode */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_Open_I( int Debug_Mode) @@ -693,7 +695,9 @@ NDT_Status ND_Library_Open_I( int Debug_Mode) /*------------------------------------------------------------------------------*/ -/* Initialisation du contexte de la librairie */ +/* Library initialisation */ +/*------------------------------------------------------------------------------*/ +/* (I) Debug_Mode: Open library in debug mode */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_Open_C( int Debug_Mode) @@ -730,7 +734,7 @@ NDT_Status ND_Library_Open_C( int Debug_Mode) /*------------------------------------------------------------------------------*/ -/* Fermeture du contexte de la librairie */ +/* Library deinitialisation */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_Close_I( void) @@ -772,7 +776,7 @@ NDT_Status ND_Library_Close_I( void) /*------------------------------------------------------------------------------*/ -/* Fermeture du contexte de la librairie */ +/* Library deinitialisation */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_Close_C( void) @@ -821,9 +825,9 @@ 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) Out : flux de sortie de l'affichage des messages d'erreur */ +/* (I) Stream: StdErr output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_StdErr_Set_I( FILE *Out) @@ -838,9 +842,9 @@ NDT_Status ND_Library_StdErr_Set_I( FILE *Out) /*------------------------------------------------------------------------------*/ -/* Définition de la sortie standard des messages d'erreur de la librairie */ +/* Library Standard Error output setup */ /*------------------------------------------------------------------------------*/ -/* (I) Out : flux de sortie de l'affichage des messages d'erreur */ +/* (I) Stream: StdErr output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Library_StdErr_Set_C( FILE *Out) @@ -861,14 +865,11 @@ NDT_Status ND_Library_StdErr_Set_C( FILE *Out) /*------------------------------------------------------------------------------*/ -/* Création d'une nouvelle structure de données */ +/* Create a new index */ /*------------------------------------------------------------------------------*/ -/* (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) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Index_Type: Index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Open_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Index_Type Type) @@ -927,14 +928,11 @@ NDT_Status ND_Index_Open_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_In /*------------------------------------------------------------------------------*/ -/* Création d'une nouvelle structure de données */ +/* Create a new index */ /*------------------------------------------------------------------------------*/ -/* (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) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Index_Type: Index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Open_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Index_Type Type) @@ -979,26 +977,31 @@ NDT_Status ND_Index_Open_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_I /*------------------------------------------------------------------------------*/ -/* 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 */ -/* (I) Type: type de la structure.de données (liste ou arbre binaire) */ -/* (I) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (O) Root_Ptr_Ptr: Pointer adress of the new sata structure */ +/* (I) Index_Nb: Number of index */ +/* (I) Index_Type_Ptr: Array of Index type (List, tree, ...) */ +/* (I) Manager_Name: Manager function name */ +/* (I) Manager_Ptr: Manager function pointer */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Open_I( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, NDT_Index_Type *Type_Ptr, NDT_Manager_Name Manager_Name, NDT_Manager *Manager_Ptr, - NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, NDT_Desallocator_Name Desallocator_Name, NDT_Desallocator *Desallocator_Ptr, short Own_Value, void *Data) + NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, NDT_Deallocator_Name Deallocator_Name, NDT_Deallocator *Deallocator_Ptr, short Own_Value, void *Data) { NDT_Status status; NDT_Manager_Name Real_Manager_Name; NDT_Manager *Real_Manager_Ptr; NDT_Allocator_Name Real_Allocator_Name; NDT_Allocator *Real_Allocator_Ptr; - NDT_Desallocator_Name Real_Desallocator_Name; - NDT_Desallocator *Real_Desallocator_Ptr; + NDT_Deallocator_Name Real_Deallocator_Name; + NDT_Deallocator *Real_Deallocator_Ptr; /* Valeurs par défaut des fonctions d'allocation et de désallocation */ @@ -1046,27 +1049,27 @@ NDT_Status ND_DataStruct_Open_I( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_N } #if defined(_WIN32) - if( ( Desallocator_Name != NULL) && ( Desallocator_Ptr == NULL)) + if( ( Deallocator_Name != NULL) && ( Deallocator_Ptr == NULL)) { - sprintf( NDG_Base.Err_String, "Error ND_DataStruct_Open_I: no symbol lookup support, Desallocator_Ptr shouldn't be NULL"); + sprintf( NDG_Base.Err_String, "Error ND_DataStruct_Open_I: no symbol lookup support, Deallocator_Ptr shouldn't be NULL"); ND_Error_Print(); return( NDS_ERRAPI); } #endif - if( ( Desallocator_Name != NULL) || ( Desallocator_Ptr != NULL)) + if( ( Deallocator_Name != NULL) || ( Deallocator_Ptr != NULL)) { - Real_Desallocator_Name = Desallocator_Name; - Real_Desallocator_Ptr = Desallocator_Ptr; + Real_Deallocator_Name = Deallocator_Name; + Real_Deallocator_Ptr = Deallocator_Ptr; } else { - Real_Desallocator_Name = "ND_Default_Desallocator"; - Real_Desallocator_Ptr = ND_Default_Desallocator; + Real_Deallocator_Name = "ND_Default_Deallocator"; + Real_Deallocator_Ptr = ND_Default_Deallocator; } - status = ND_Node_Root_Alloc( Root_Ptr_Ptr, Index_Nb, Type_Ptr, Real_Manager_Name, Real_Manager_Ptr, Real_Allocator_Name, Real_Allocator_Ptr, Real_Desallocator_Name, Real_Desallocator_Ptr, Own_Value, Data); + status = ND_Node_Root_Alloc( Root_Ptr_Ptr, Index_Nb, Type_Ptr, Real_Manager_Name, Real_Manager_Ptr, Real_Allocator_Name, Real_Allocator_Ptr, Real_Deallocator_Name, Real_Deallocator_Ptr, Own_Value, Data); if( ND_ERROR( status)) return( status); @@ -1078,18 +1081,23 @@ NDT_Status ND_DataStruct_Open_I( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_N /*------------------------------------------------------------------------------*/ -/* 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 */ -/* (I) Type: type de la structure.de données (liste ou arbre binaire) */ -/* (I) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (O) Root_Ptr_Ptr: Pointer adress of the new sata structure */ +/* (I) Index_Nb: Number of index */ +/* (I) Index_Type_Ptr: Array of Index type (List, tree, ...) */ +/* (I) Manager_Name: Manager function name */ +/* (I) Manager_Ptr: Manager function pointer */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Open_C( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, NDT_Index_Type *Type_Ptr, NDT_Manager_Name Manager_Name, NDT_Manager *Manager_Ptr, - NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, NDT_Desallocator_Name Desallocator_Name, NDT_Desallocator *Desallocator_Ptr, short Own_Value, void *Data_Ptr) + NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, NDT_Deallocator_Name Deallocator_Name, NDT_Deallocator *Deallocator_Ptr, short Own_Value, void *Data_Ptr) { NDT_Status status; @@ -1102,7 +1110,7 @@ NDT_Status ND_DataStruct_Open_C( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_ return( NDS_ERRAPI); } - if( ( status = ND_DataStruct_Open_I( Root_Ptr_Ptr, Index_Nb, Type_Ptr, Manager_Name, Manager_Ptr, Allocator_Name, Allocator_Ptr, Desallocator_Name, Desallocator_Ptr, Own_Value, Data_Ptr)) != NDS_OK) + if( ( status = ND_DataStruct_Open_I( Root_Ptr_Ptr, Index_Nb, Type_Ptr, Manager_Name, Manager_Ptr, Allocator_Name, Allocator_Ptr, Deallocator_Name, Deallocator_Ptr, Own_Value, Data_Ptr)) != NDS_OK) { return( status); } @@ -1126,9 +1134,10 @@ NDT_Status ND_DataStruct_Open_C( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_ /*------------------------------------------------------------------------------*/ -/* Destruction d'une structure de données */ +/* Remove an Index */ /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Close_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1158,9 +1167,10 @@ NDT_Status ND_Index_Close_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* Destruction d'une structure de données */ +/* Remove an Index */ /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Close_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1197,9 +1207,9 @@ NDT_Status ND_Index_Close_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* Destruction d'une structure de données */ +/* Destroy a data structure */ /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Close_I( NDT_Root *Root_Ptr) @@ -1218,9 +1228,9 @@ NDT_Status ND_DataStruct_Close_I( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* Destruction d'une structure de données */ +/* Destroy a data structure */ /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Close_C( NDT_Root *Root_Ptr) @@ -1268,7 +1278,10 @@ NDT_Status ND_DataStruct_Close_C( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* Remove an Index (Private API ?) */ +/*------------------------------------------------------------------------------*/ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Flush_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1312,9 +1325,10 @@ NDT_Status ND_Index_Flush_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* Destruction d'une structure de données */ +/* Remove an Index (Private API ?) */ /*------------------------------------------------------------------------------*/ -/* (O) Root: pointeur sur la racine de la structure de données à détruire */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Flush_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1343,9 +1357,9 @@ NDT_Status ND_Index_Flush_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* 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 à détruire */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Flush_I( NDT_Root *Root_Ptr) @@ -1368,9 +1382,9 @@ NDT_Status ND_DataStruct_Flush_I( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* 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 à détruire */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root_Ptr) @@ -1399,14 +1413,15 @@ NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a data structure index: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs détectées */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs corrigées */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Check_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Detected_Nb_Ptr, int *Corrected_Nb_Ptr, FILE *Out) @@ -1454,14 +1469,15 @@ NDT_Status ND_Index_Check_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a data structure index: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs détectées */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs corrigées */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Check_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out) @@ -1500,14 +1516,14 @@ NDT_Status ND_Index_Check_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a datat structure: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs détectées */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs corrigées */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Error_Detected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out) @@ -1534,14 +1550,14 @@ NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Error_Detected_Nb_ /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a datat structure: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs détectées */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs corrigées */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (I) Out: Output stream */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Check_C( NDT_Root *Root_Ptr, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out) @@ -1578,10 +1594,11 @@ NDT_Status ND_DataStruct_Check_C( NDT_Root *Root_Ptr, int *Nb_Detected_Ptr, in /*------------------------------------------------------------------------------*/ -/* 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 à convertir */ -/* (I) Target_Type : type de structure cible */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Index_Type: Index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Convert_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Index_Type Target_Type) @@ -1683,10 +1700,11 @@ NDT_Status ND_Index_Convert_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT /*------------------------------------------------------------------------------*/ -/* 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 à convertir */ -/* (I) Target_Type : type de structure cible */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Index_Type: Index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Convert_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Index_Type Target_Type) @@ -1715,10 +1733,10 @@ NDT_Status ND_Index_Convert_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT /*------------------------------------------------------------------------------*/ -/* Conversion d'une structure de données d'un type en un autre */ +/* Convert a data structure indexe types */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à convertir */ -/* (I) Target_Type : type de structure cible */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Type_Ptr: Array of index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Convert_I( NDT_Root *Root_Ptr, NDT_Index_Type *Target_Type_Ptr) @@ -1741,10 +1759,10 @@ NDT_Status ND_DataStruct_Convert_I( NDT_Root *Root_Ptr, NDT_Index_Type *Targe /*------------------------------------------------------------------------------*/ -/* Conversion d'une structure de données d'un type en un autre */ +/* Convert a data structure indexe types */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à convertir */ -/* (I) Target_Type : type de structure cible */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Type_Ptr: Array of index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Convert_C( NDT_Root *Root_Ptr, NDT_Index_Type *Target_Type_Ptr) @@ -1781,11 +1799,12 @@ NDT_Status ND_DataStruct_Convert_C( NDT_Root *Root_Ptr, NDT_Index_Type *Targe /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Reorganise a data structure index: */ +/* - Sort a non-sorted list */ +/* - Rebalance a non auto-balanced tree */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à supprimer */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Reorg_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1832,11 +1851,12 @@ NDT_Status ND_Index_Reorg_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Reorganise a data structure index: */ +/* - Sort a non-sorted list */ +/* - Rebalance a non auto-balanced tree */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à supprimer */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Reorg_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -1865,11 +1885,11 @@ NDT_Status ND_Index_Reorg_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Reorganise a data structure indexes: */ +/* - Sort a non-sorted list */ +/* - Rebalance a non auto-balanced tree */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à supprimer */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Reorg_I( NDT_Root *Root_Ptr) @@ -1892,11 +1912,11 @@ NDT_Status ND_DataStruct_Reorg_I( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Reorganise a data structure indexes: */ +/* - Sort a non-sorted list */ +/* - Rebalance a non auto-balanced tree */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à supprimer */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Reorg_C( NDT_Root *Root_Ptr) @@ -1925,12 +1945,12 @@ NDT_Status ND_DataStruct_Reorg_C( NDT_Root *Root_Ptr) /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure index & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Traverse_VI( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Command Command, va_list *Args_Ptr) @@ -1984,12 +2004,12 @@ NDT_Status ND_Index_Traverse_VI( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, ND /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure index & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Traverse_VC( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Command Command, va_list *Args_Ptr) @@ -2018,12 +2038,12 @@ NDT_Status ND_Index_Traverse_VC( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, N /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure index & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Traverse_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Command Command, ...) @@ -2084,12 +2104,12 @@ NDT_Status ND_Index_Traverse_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure index & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Traverse_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Command Command, ...) @@ -2128,12 +2148,11 @@ NDT_Status ND_Index_Traverse_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, ND /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *Root_Ptr, NDT_Command Command, va_list *Args_Ptr) @@ -2154,12 +2173,11 @@ NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *Root_Ptr, NDT_Command Command, /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *Root_Ptr, NDT_Command Command, va_list *Args_Ptr) @@ -2187,12 +2205,11 @@ NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *Root_Ptr, NDT_Command Command /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Traverse_I( NDT_Root *Root_Ptr, NDT_Command Command, ...) @@ -2220,12 +2237,11 @@ NDT_Status ND_DataStruct_Traverse_I( NDT_Root *Root_Ptr, NDT_Command Command, /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à parcourir */ -/* (I) Command : Commande à exécuter sur chaque noeud traversé */ -/* (I) Data : pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Command: Manager command */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Traverse_C( NDT_Root *Root_Ptr, NDT_Command Command, ...) @@ -2264,10 +2280,14 @@ NDT_Status ND_DataStruct_Traverse_C( NDT_Root *Root_Ptr, NDT_Command Command, /*------------------------------------------------------------------------------*/ -/* Affichage d'informations sur une structure de données */ +/* Print data structure index information */ /*------------------------------------------------------------------------------*/ -/* (I) Root: pointeur sur la racine de la structure de données */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset) @@ -2306,10 +2326,14 @@ NDT_Status ND_Index_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id /*------------------------------------------------------------------------------*/ -/* Affichage d'informations sur une structure de données */ +/* Print data structure index information */ /*------------------------------------------------------------------------------*/ -/* (I) Root: pointeur sur la racine de la structure de données */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Info_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset) @@ -2346,10 +2370,13 @@ NDT_Status ND_Index_Info_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id /*------------------------------------------------------------------------------*/ -/* 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) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset) @@ -2368,9 +2395,9 @@ NDT_Status ND_DataStruct_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Recu status = ND_Manager_Exec_I( Root_Ptr, NDD_INDEX_UNKNOWN, NULL, NDD_CMD_MANAGER_VERSION, &version_name); if( ND_ERROR( status)) return( status); - fprintf( Out, "%sRoot: (%s%p)\tIndex Nb: (%d)\tIndex Open Count: (%d)\tManager: (%s%p) [%s]\n%sAllocator: (%s%p) [%s]\tDesallocator: (%s%p) [%s]\tUser: (%s%p)\n%sManager Version: [%s]\n\n", + fprintf( Out, "%sRoot: (%s%p)\tIndex Nb: (%d)\tIndex Open Count: (%d)\tManager: (%s%p) [%s]\n%sAllocator: (%s%p) [%s]\tDeallocator: (%s%p) [%s]\tUser: (%s%p)\n%sManager Version: [%s]\n\n", offset, NDD_PRINTF_PTR_PREFIX, Root_Ptr, Root_Ptr->Index_Nb, Root_Ptr->Index_Open_Count, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Manager_Ptr, Root_Ptr->Manager_Name, - offset, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Allocator_Ptr, Root_Ptr->Allocator_Name, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Desallocator_Ptr, Root_Ptr->Desallocator_Name, NDD_PRINTF_PTR_PREFIX, Root_Ptr->User_Ptr, + offset, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Allocator_Ptr, Root_Ptr->Allocator_Name, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Deallocator_Ptr, Root_Ptr->Deallocator_Name, NDD_PRINTF_PTR_PREFIX, Root_Ptr->User_Ptr, offset, version_name); } @@ -2395,10 +2422,13 @@ NDT_Status ND_DataStruct_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Recu /*------------------------------------------------------------------------------*/ -/* 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) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Info_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset) @@ -2434,10 +2464,11 @@ NDT_Status ND_DataStruct_Info_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Rec /*------------------------------------------------------------------------------*/ -/* 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) Value : pointeur sur la valeur à ajouter à la structure de données */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Value_Add_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr) @@ -2470,10 +2501,11 @@ NDT_Status ND_Index_Value_Add_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, v /*------------------------------------------------------------------------------*/ -/* 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) Value : pointeur sur la valeur à ajouter à la structure de données */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Value_Add_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr) @@ -2510,10 +2542,10 @@ NDT_Status ND_Index_Value_Add_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, v /*------------------------------------------------------------------------------*/ -/* 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) Value : pointeur sur la valeur à ajouter à la structure de données */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *Root_Ptr, void *Value_Ptr) @@ -2539,10 +2571,10 @@ NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* 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) Value : pointeur sur la valeur à ajouter à la structure de données */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *Root_Ptr, void *Value_Ptr) @@ -2579,11 +2611,11 @@ NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* 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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Value_Remove_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr) @@ -2621,11 +2653,11 @@ NDT_Status ND_Index_Value_Remove_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id /*------------------------------------------------------------------------------*/ -/* 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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Value_Remove_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr) @@ -2662,11 +2694,10 @@ NDT_Status ND_Index_Value_Remove_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id /*------------------------------------------------------------------------------*/ -/* 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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *Root_Ptr, void *Value_Ptr) @@ -2692,11 +2723,10 @@ NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* 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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *Root_Ptr, void *Value_Ptr) @@ -2733,11 +2763,17 @@ NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* Affichage 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 à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ + NDT_Status ND_Index_Value_Print_VI( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, va_list *Args_Ptr) { NDT_Status status; @@ -2753,11 +2789,17 @@ NDT_Status ND_Index_Value_Print_VI( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_I /*------------------------------------------------------------------------------*/ -/* Affichage 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 à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ + NDT_Status ND_Index_Value_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, ...) { NDT_Status status; @@ -2778,10 +2820,15 @@ NDT_Status ND_Index_Value_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id /*------------------------------------------------------------------------------*/ -/* Affichage 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 à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Value_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, ...) @@ -2828,11 +2875,16 @@ NDT_Status ND_Index_Value_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Index_I /*------------------------------------------------------------------------------*/ -/* Affichage d'une structure de données */ +/* Print all the data structure values */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ + NDT_Status ND_DataStruct_Value_Print_VI( FILE *Out, NDT_Root *Root_Ptr, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, va_list *User_Args_Ptr) { NDT_Status status; @@ -2847,11 +2899,16 @@ NDT_Status ND_DataStruct_Value_Print_VI( FILE *Out, NDT_Root *Root_Ptr, NDT_Re /*------------------------------------------------------------------------------*/ -/* Affichage d'une structure de données */ +/* Print all the data structure values */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ + NDT_Status ND_DataStruct_Value_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, ...) { NDT_Status status; @@ -2872,10 +2929,14 @@ NDT_Status ND_DataStruct_Value_Print_I( FILE *Out, NDT_Root *Root_Ptr, NDT_Rec /*------------------------------------------------------------------------------*/ -/* Affichage d'une structure de données */ +/* Print all the data structure values */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure de données à afficher */ -/* (I) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth Recursive_Depth, NDT_Recursive_Offset Recursive_Offset, ...) @@ -2922,10 +2983,11 @@ NDT_Status ND_DataStruct_Value_Print_C( FILE *Out, NDT_Root *Root_Ptr, NDT_Re /*------------------------------------------------------------------------------*/ -/* 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) Node : pointeur sur le noeud à ajouter */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Add_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr ) @@ -2947,10 +3009,11 @@ NDT_Status ND_Index_Node_Add_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, ND /*------------------------------------------------------------------------------*/ -/* 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) Node : pointeur sur le noeud à ajouter */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Add_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr) @@ -2987,9 +3050,9 @@ NDT_Status ND_Index_Node_Add_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, ND /*------------------------------------------------------------------------------*/ -/* 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 */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Remove_I( NDT_Node *Node_Ptr) @@ -3091,9 +3154,9 @@ NDT_Status ND_Index_Node_Remove_I( NDT_Node *Node_Ptr) /*------------------------------------------------------------------------------*/ -/* 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 */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Remove_C( NDT_Node *Node_Ptr) @@ -3122,10 +3185,11 @@ NDT_Status ND_Index_Node_Remove_C( NDT_Node *Node_Ptr) /*------------------------------------------------------------------------------*/ -/* 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) First_Node : adresse du pointeur sur le premier noeud */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_First_Get_I( NDT_Node **First_Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -3146,10 +3210,11 @@ NDT_Status ND_Index_Node_First_Get_I( NDT_Node **First_Node_Ptr_Ptr, NDT_Root /*------------------------------------------------------------------------------*/ -/* 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) First_Node : adresse du pointeur sur le premier noeud */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_First_Get_C( NDT_Node **First_Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -3178,10 +3243,11 @@ NDT_Status ND_Index_Node_First_Get_C( NDT_Node **First_Node_Ptr_Ptr, NDT_Root /*------------------------------------------------------------------------------*/ -/* 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) Last_Node : adresse du pointeur sur le premier noeud */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Last_Get_I ( NDT_Node **Last_Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) @@ -3234,10 +3300,10 @@ NDT_Status ND_Index_Node_Last_Get_C( NDT_Node **Last_Node_Ptr_Ptr, NDT_Root * /*------------------------------------------------------------------------------*/ -/* 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) Next_Node : adresse du pointeur sur le noeud suivant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Next_Get_I ( NDT_Node **Next_Node_Ptr_Ptr, NDT_Node *Node_Ptr) @@ -3268,10 +3334,10 @@ NDT_Status ND_Index_Node_Next_Get_I ( NDT_Node **Next_Node_Ptr_Ptr, NDT_Node * /*------------------------------------------------------------------------------*/ -/* 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) Next_Node : adresse du pointeur sur le noeud suivant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **Next_Node_Ptr_Ptr, NDT_Node *Node_Ptr) @@ -3300,10 +3366,10 @@ NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **Next_Node_Ptr_Ptr, 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) Prev_Node : adresse du pointeur sur le noeud suivant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **Prev_Node_Ptr_Ptr, NDT_Node *Node_Ptr) @@ -3332,10 +3398,10 @@ NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **Prev_Node_Ptr_Ptr, NDT_Nod /*------------------------------------------------------------------------------*/ -/* 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) Prev_Node : adresse du pointeur sur le noeud suivant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **Prev_Node_Ptr_Ptr, NDT_Node *Node_Ptr) @@ -3364,12 +3430,13 @@ NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **Prev_Node_Ptr_Ptr, NDT_Nod /*------------------------------------------------------------------------------*/ -/* 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 : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Find_VI( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr, va_list *Args_Ptr) @@ -3398,12 +3465,13 @@ NDT_Status ND_Index_Node_Find_VI( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr /*------------------------------------------------------------------------------*/ -/* 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 : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Find_VC( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr, va_list *Args_Ptr) @@ -3446,12 +3514,13 @@ NDT_Status ND_Index_Node_Find_VC( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr /*------------------------------------------------------------------------------*/ -/* 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 : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Find_I( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr, ...) @@ -3485,12 +3554,13 @@ NDT_Status ND_Index_Node_Find_I( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, /*------------------------------------------------------------------------------*/ -/* 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 : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Index_Node_Find_C( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, void *Value_Ptr, ...) @@ -3537,12 +3607,12 @@ NDT_Status ND_Index_Node_Find_C( NDT_Node **Node_Ptr_Ptr, NDT_Root *Root_Ptr, /*------------------------------------------------------------------------------*/ -/* Recherche un noeud à partir d'une valeur */ +/* Find a value in a data structure */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de l'abre */ -/* (O) Node : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Value_Ptr_Ptr: Value pointer address found */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Find_VI( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list *Args_Ptr) @@ -3576,12 +3646,12 @@ NDT_Status ND_DataStruct_Value_Find_VI( void **Value_Ptr_Ptr, NDT_Root *Root_ /*------------------------------------------------------------------------------*/ -/* Recherche un noeud à partir d'une valeur */ +/* Find a value in a data structure */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de l'abre */ -/* (O) Node : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Value_Ptr_Ptr: Value pointer address found */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Find_VC( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list *Args_Ptr) @@ -3623,12 +3693,12 @@ NDT_Status ND_DataStruct_Value_Find_VC( void **Value_Ptr_Ptr, NDT_Root *Root_ /*------------------------------------------------------------------------------*/ -/* Recherche un noeud à partir d'une valeur */ +/* Find a value in a data structure */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de l'abre */ -/* (O) Node : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Value_Ptr_Ptr: Value pointer address found */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Find_I( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...) @@ -3667,12 +3737,12 @@ NDT_Status ND_DataStruct_Value_Find_I( void **Value_Ptr_Ptr, NDT_Root *Root_P /*------------------------------------------------------------------------------*/ -/* Recherche un noeud à partir d'une valeur */ +/* Find a value in a data structure */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de l'abre */ -/* (O) Node : adresse du pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Value_Ptr_Ptr: Value pointer address found */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ NDT_Status ND_DataStruct_Value_Find_C( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...) @@ -3719,10 +3789,10 @@ NDT_Status ND_DataStruct_Value_Find_C( void **Value_Ptr_Ptr, NDT_Root *Root_P /*------------------------------------------------------------------------------*/ -/* 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 */ -/* (I) Node : pointeur sur le noeud dont on cherche la racine */ +/* (O) Root_Ptr_Ptr: Data structure pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Node_Root_Get_I( NDT_Root **Root_Ptr_Ptr, NDT_Node *Node_Ptr) @@ -3737,10 +3807,10 @@ NDT_Status ND_Node_Root_Get_I( NDT_Root **Root_Ptr_Ptr, NDT_Node *Node_Ptr) /*------------------------------------------------------------------------------*/ -/* 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 */ -/* (I) Node : pointeur sur le noeud dont on cherche la racine */ +/* (O) Root_Ptr_Ptr: Data structure pointer address */ +/* (I) Node_Ptr: Node pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Node_Root_Get_C( NDT_Root **Root_Ptr_Ptr, NDT_Node *Node_Ptr ) @@ -3769,14 +3839,14 @@ NDT_Status ND_Node_Root_Get_C( NDT_Root **Root_Ptr_Ptr, NDT_Node *Node_Ptr ) /*------------------------------------------------------------------------------*/ -/* 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 : adresse d'un pointeur sur la valeur à allouer */ -/* (I) ... : arguments relatifs à l'allocation de la valeur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Value_Alloc_I( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) +NDT_Status ND_Value_Alloc_I( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, ...) { NDT_Status rc; va_list user_args; @@ -3784,7 +3854,7 @@ NDT_Status ND_Value_Alloc_I( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) /* Récupération des arguments pour l'allocation de la valeur */ - va_start( user_args, Value_Ptr_Ptr); + va_start( user_args, Root_Ptr); /* Appel du manager */ @@ -3800,14 +3870,14 @@ NDT_Status ND_Value_Alloc_I( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) /*------------------------------------------------------------------------------*/ -/* 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 : adresse d'un pointeur sur la valeur à allouer */ -/* (I) ... : arguments relatifs à l'allocation de la valeur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Value_Alloc_C( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) +NDT_Status ND_Value_Alloc_C( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, ...) { NDT_Status rc; va_list user_args; @@ -3831,7 +3901,7 @@ NDT_Status ND_Value_Alloc_C( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) /* Récupération des arguments pour l'allocation de la valeur */ - va_start( user_args, Value_Ptr_Ptr); + va_start( user_args, Root_Ptr); /* Appel du manager */ @@ -3847,10 +3917,10 @@ NDT_Status ND_Value_Alloc_C( NDT_Root *Root_Ptr, void **Value_Ptr_Ptr, ...) /*------------------------------------------------------------------------------*/ -/* 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) Value: pointeur sur la valeur à désallouer */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Value_Free_I( NDT_Root *Root_Ptr, void *Value_Ptr) @@ -3863,11 +3933,12 @@ NDT_Status ND_Value_Free_I( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* 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) Value: pointeur sur la valeur à désallouer */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Value_Ptr: Value pointer */ /*------------------------------------------------------------------------------*/ + NDT_Status ND_Value_Free_C( NDT_Root *Root_Ptr, void *Value_Ptr) { if( NDG_Base.Open_Status != NDD_TRUE) @@ -3904,9 +3975,13 @@ NDT_Status ND_Value_Free_C( NDT_Root *Root_Ptr, void *Value_Ptr) /*------------------------------------------------------------------------------*/ -/* 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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Manager_Exec_VI( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, va_list *Args_Ptr) @@ -3939,9 +4014,13 @@ NDT_Status ND_Manager_Exec_VI( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT /*------------------------------------------------------------------------------*/ -/* 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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Manager_Exec_VC( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, va_list *Args_Ptr) @@ -3983,9 +4062,13 @@ NDT_Status ND_Manager_Exec_VC( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT /*------------------------------------------------------------------------------*/ -/* 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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Manager_Exec_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, ...) @@ -4024,9 +4107,13 @@ NDT_Status ND_Manager_Exec_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_ /*------------------------------------------------------------------------------*/ -/* 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 */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Manager_Exec_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Node *Node_Ptr, NDT_Command Command, ...) @@ -4073,12 +4160,12 @@ NDT_Status ND_Manager_Exec_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_ /*------------------------------------------------------------------------------*/ -/* 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) Ptr : adresse d'un pointeur sur la zone à allouer */ -/* (I) Size : taille de la zone à allouer */ -/* (I) Data : données utilisateur utiles à l'allocateur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Allocator_Name: Value allocator function name */ +/* (I) Allocator_Ptr: Value allocator function pointer */ +/* (I) Data_Ptr: User pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Allocator_Exec_I( void **Ptr_Ptr, size_t Size, NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, void *Data_Ptr) @@ -4109,12 +4196,12 @@ NDT_Status ND_Allocator_Exec_I( void **Ptr_Ptr, size_t Size, NDT_Allocator_Na /*------------------------------------------------------------------------------*/ -/* 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) Ptr : adresse d'un pointeur sur la zone à allouer */ -/* (I) Size : taille de la zone à allouer */ -/* (I) Data : données utilisateur utiles à l'allocateur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Allocator_Name: Value allocator function name */ +/* (I) Allocator_Ptr: Value allocator function pointer */ +/* (I) Data_Ptr: User pointer */ /*------------------------------------------------------------------------------*/ NDT_Status ND_Allocator_Exec_C( void **Ptr_Ptr, size_t Size, NDT_Allocator_Name Allocator_Name, NDT_Allocator *Allocator_Ptr, void *Data_Ptr) @@ -4143,34 +4230,35 @@ NDT_Status ND_Allocator_Exec_C( void **Ptr_Ptr, size_t Size, NDT_Allocator_Na /*------------------------------------------------------------------------------*/ -/* Exécution d'une fonction de désallocation dont nom est passé en paramètre */ +/* Execute a deallocator function */ /*------------------------------------------------------------------------------*/ -/* (I) Function : nom de la fonction à exécuter */ -/* (I) Ptr : adresse de la zone à désallouer */ -/* (I) Data : données utilisateur utiles à l'allocateur */ +/* (I) Value_Ptr: Value pointer */ +/* (I) Allocator_Name: Value deallocator function name */ +/* (I) Allocator_Ptr: Value deallocator function pointer */ +/* (I) Data_Ptr: User pointer */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Desallocator_Exec_I( void *Ptr, NDT_Desallocator_Name Desallocator_Name, NDT_Desallocator *Desallocator_Ptr, void *Data_Ptr) +NDT_Status ND_Deallocator_Exec_I( void *Ptr, NDT_Deallocator_Name Deallocator_Name, NDT_Deallocator *Deallocator_Ptr, void *Data_Ptr) { - NDT_Desallocator *desallocator_ptr; + NDT_Deallocator *deallocator_ptr; - if( Desallocator_Ptr != NULL) + if( Deallocator_Ptr != NULL) { - desallocator_ptr = Desallocator_Ptr; + deallocator_ptr = Deallocator_Ptr; } else { - if( ND_Symbol_Find( (void **)&desallocator_ptr, Desallocator_Name) != NDS_OK) + if( ND_Symbol_Find( (void **)&deallocator_ptr, Deallocator_Name) != NDS_OK) { - sprintf( NDG_Base.Err_String, "Error ND_Manager_Exec_I: cant't find desallocator function"); + sprintf( NDG_Base.Err_String, "Error ND_Manager_Exec_I: cant't find deallocator function"); ND_Error_Print(); return( NDS_KO); } } - return( desallocator_ptr( Ptr, Data_Ptr)); + return( deallocator_ptr( Ptr, Data_Ptr)); } @@ -4178,32 +4266,33 @@ NDT_Status ND_Desallocator_Exec_I( void *Ptr, NDT_Desallocator_Name Desallocat /*------------------------------------------------------------------------------*/ -/* Exécution d'une fonction de désallocation dont nom est passé en paramètre */ +/* Execute a deallocator function */ /*------------------------------------------------------------------------------*/ -/* (I) Function : nom de la fonction à exécuter */ -/* (I) Ptr : adresse de la zone à désallouer */ -/* (I) Data : données utilisateur utiles à l'allocateur */ +/* (I) Value_Ptr: Value pointer */ +/* (I) Allocator_Name: Value deallocator function name */ +/* (I) Allocator_Ptr: Value deallocator function pointer */ +/* (I) Data_Ptr: User pointer */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Desallocator_Exec_C( void *Ptr, NDT_Desallocator_Name Desallocator_Name, NDT_Desallocator *Desallocator_Ptr, void *Data_Ptr) +NDT_Status ND_Deallocator_Exec_C( void *Ptr, NDT_Deallocator_Name Deallocator_Name, NDT_Deallocator *Deallocator_Ptr, void *Data_Ptr) { if( NDG_Base.Open_Status != NDD_TRUE) { - sprintf( NDG_Base.Err_String, "Error ND_Desallocator_Exec_C: library is not open"); + sprintf( NDG_Base.Err_String, "Error ND_Deallocator_Exec_C: library is not open"); ND_Error_Print(); return( NDS_ERRAPI); } - if( ( Desallocator_Name == NULL) && ( Desallocator_Ptr == NULL)) + if( ( Deallocator_Name == NULL) && ( Deallocator_Ptr == NULL)) { - sprintf( NDG_Base.Err_String, "Error ND_Desallocator_Exec_C: undefined function name"); + sprintf( NDG_Base.Err_String, "Error ND_Deallocator_Exec_C: undefined function name"); ND_Error_Print(); return( NDS_ERRAPI); } - return( ND_Desallocator_Exec_I( Ptr, Desallocator_Name, Desallocator_Ptr, Data_Ptr)); + return( ND_Deallocator_Exec_I( Ptr, Deallocator_Name, Deallocator_Ptr, Data_Ptr)); } @@ -4318,7 +4407,7 @@ NDT_Status ND_Node_Alloc( NDT_Root *Root_Ptr, NDT_Node **Node_Ptr_Ptr ) /*------------------------------------------------------------------------------*/ NDT_Status ND_Node_Free( NDT_Root *Root_Ptr, NDT_Node *Node_Ptr) { - return( ND_Desallocator_Exec_I( Node_Ptr, Root_Ptr->Desallocator_Name, Root_Ptr->Desallocator_Ptr, Root_Ptr->User_Ptr)); + return( ND_Deallocator_Exec_I( Node_Ptr, Root_Ptr->Deallocator_Name, Root_Ptr->Deallocator_Ptr, Root_Ptr->User_Ptr)); } @@ -4331,7 +4420,7 @@ NDT_Status ND_Node_Free( NDT_Root *Root_Ptr, NDT_Node *Node_Ptr) /* (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) 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) Own_Value : indique si la structure est propriétaire de ses valeurs */ /*------------------------------------------------------------------------------*/ @@ -4364,11 +4453,11 @@ NDT_Status ND_Index_Clear( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id) /* (O) New_Root: adresse du pointeur sur la nouvelle racine */ /* (I) Type: type de la structure de données */ /* (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 */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, NDT_Index_Type *Type_Ptr, char *Manager_Name, NDT_Manager *Manager_Ptr, char *Allocator_Name, NDT_Allocator *Allocator_Ptr, char *Desallocator_Name, NDT_Desallocator *Desallocator_Ptr, short Own_Value, void *Data_Ptr) +NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, NDT_Index_Type *Type_Ptr, char *Manager_Name, NDT_Manager *Manager_Ptr, char *Allocator_Name, NDT_Allocator *Allocator_Ptr, char *Deallocator_Name, NDT_Deallocator *Deallocator_Ptr, short Own_Value, void *Data_Ptr) { NDT_Status status; NDT_Index_Id index_id; @@ -4385,9 +4474,9 @@ NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, strcpy( (*Root_Ptr_Ptr)->Allocator_Name, Allocator_Name); (*Root_Ptr_Ptr)->Allocator_Ptr = Allocator_Ptr; - if( strlen(Desallocator_Name) > NDD_DESALLOCATOR_NAME_LEN_MAX) return( NDS_ERRAPI); - strcpy( (*Root_Ptr_Ptr)->Desallocator_Name, Desallocator_Name); - (*Root_Ptr_Ptr)->Desallocator_Ptr = Desallocator_Ptr; + if( strlen(Deallocator_Name) > NDD_DEALLOCATOR_NAME_LEN_MAX) return( NDS_ERRAPI); + strcpy( (*Root_Ptr_Ptr)->Deallocator_Name, Deallocator_Name); + (*Root_Ptr_Ptr)->Deallocator_Ptr = Deallocator_Ptr; (*Root_Ptr_Ptr)->Own_Value = Own_Value; (*Root_Ptr_Ptr)->User_Ptr = Data_Ptr; @@ -4429,7 +4518,7 @@ NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb, /*------------------------------------------------------------------------------*/ NDT_Status ND_Node_Root_Free( NDT_Root *Root_Ptr) { - return( ND_Desallocator_Exec_I( Root_Ptr, Root_Ptr->Desallocator_Name, Root_Ptr->Desallocator_Ptr, Root_Ptr->User_Ptr)); + return( ND_Deallocator_Exec_I( Root_Ptr, Root_Ptr->Deallocator_Name, Root_Ptr->Deallocator_Ptr, Root_Ptr->User_Ptr)); } @@ -5389,7 +5478,7 @@ NDT_Status ND_Default_Allocator( void **Ptr_Ptr, size_t Size, void *Data_Ptr /* Redéfinition de la fonction free() avec retour de type NDT_Status */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Default_Desallocator( void *Ptr, void *Data_Ptr) +NDT_Status ND_Default_Deallocator( void *Ptr, void *Data_Ptr) { if( !Ptr) return( NDS_ERRAPI); diff --git a/libnode.h b/libnode.h index bd0f4fe..e6343b8 100644 --- a/libnode.h +++ b/libnode.h @@ -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 */ /*------------------------------------------------------------------------------*/ -NDT_Status ND_Default_Desallocator( void *, void *); +NDT_Status ND_Default_Deallocator( void *, void *); /*------------------------------------------------------------------------------*/ /* 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 */ /* (I) Type: type de la structure.de données (liste ou arbre binaire) */ /* (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) 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 */ /* (I) Type : type de la structure de données */ /* (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 */ /*------------------------------------------------------------------------------*/ -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 */ diff --git a/node.h b/node.h index 27dd1d5..9895ff6 100644 --- a/node.h +++ b/node.h @@ -1,10 +1,10 @@ /*---------------------------------------------------------------------------------*/ -/* $RCSfile: node.h,v $ */ +/* $RCSfile: node.h,v $ */ /*---------------------------------------------------------------------------------*/ -/* $Revision: 2.13 $ */ -/* $Name: libnode-2_2_0-1 $ */ -/* $Date: 2010/06/06 21:26:31 $ */ -/* $Author: agibert $ */ +/* $Revision: 2.13 $ */ +/* $Name: libnode-2_2_0-1 $ */ +/* $Date: 2010/06/06 21:26:31 $ */ +/* $Author: agibert $ */ /*---------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------*/ @@ -29,7 +29,6 @@ - #ifndef _LIBNODE_H_ # define _LIBNODE_H_ @@ -52,102 +51,95 @@ 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_MAX(A,B) ((A < B) ? B : A) +# define NDD_MIN(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 - la plus longue d'un arbre. - Le dépassement de ce seuil provoque le rééquilibrage de l'arbre + Default allowed maximum depth between tree branches before rebalancing */ - -#define DEF_MAX_DIF 100 +# define DEF_MAX_DIF 100 /* Types de structure */ - typedef short NDT_Root_Type; +typedef int NDT_Index_Type; -typedef int NDT_Index_Type; +# define NDD_INDEX_MSK 0xffff +# define NDD_INDEX_RMSK 0x0000 -#define NDD_INDEX_MSK 0xffff -#define NDD_INDEX_RMSK 0x0000 +# define NDD_INDEX_STATUS_UNKNOWN 0x0000 +# define NDD_INDEX_STATUS_OPENED 0x0001 +# define NDD_INDEX_STATUS_CLOSED 0x0002 +# define NDD_INDEX_STATUS_MSK ( NDD_INDEX_STATUS_UNKNOWN | NDD_INDEX_STATUS_OPENED | NDD_INDEX_STATUS_CLOSED) +# define NDD_INDEX_STATUS_RMSK ( NDD_INDEX_MSK ^ NDD_INDEX_STATUS_MSK) -#define NDD_INDEX_STATUS_UNKNOWN 0x0000 -#define NDD_INDEX_STATUS_OPENED 0x0001 -#define NDD_INDEX_STATUS_CLOSED 0x0002 -#define NDD_INDEX_STATUS_MSK (NDD_INDEX_STATUS_UNKNOWN | NDD_INDEX_STATUS_OPENED | NDD_INDEX_STATUS_CLOSED) -#define NDD_INDEX_STATUS_RMSK (NDD_INDEX_MSK ^ NDD_INDEX_STATUS_MSK) +# define ND_INDEX_STATUS_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_UNKNOWN) +# define ND_INDEX_STATUS_VALUE_OPENED_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_OPENED) +# define ND_INDEX_STATUS_VALUE_CLOSED_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_CLOSED) +# define ND_INDEX_STATUS_UNKNOWN_IS( r, i) ND_INDEX_STATUS_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_STATUS_OPENED_IS( r, i) ND_INDEX_STATUS_VALUE_OPENED_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_STATUS_CLOSED_IS( r, i) ND_INDEX_STATUS_VALUE_CLOSED_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_STATUS_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_UNKNOWN) -#define ND_INDEX_STATUS_VALUE_OPENED_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_OPENED) -#define ND_INDEX_STATUS_VALUE_CLOSED_IS( v) ( ( (v) & NDD_INDEX_STATUS_MSK) == NDD_INDEX_STATUS_CLOSED) -#define ND_INDEX_STATUS_UNKNOWN_IS( r, i) ND_INDEX_STATUS_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_STATUS_OPENED_IS( r, i) ND_INDEX_STATUS_VALUE_OPENED_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_STATUS_CLOSED_IS( r, i) ND_INDEX_STATUS_VALUE_CLOSED_IS( (r)->Index_Tab[(i)].Type) - -#define ND_INDEX_STATUS_VALUE_ASCII_GET( v) ( ND_INDEX_STATUS_VALUE_UNKNOWN_IS( (v)) ? "UNKNOWN" : ( ND_INDEX_STATUS_VALUE_OPENED_IS( (v)) ? "OPENED" : ( ND_INDEX_STATUS_VALUE_CLOSED_IS( (v)) ? "CLOSED" : "???"))) -#define ND_INDEX_STATUS_ASCII_GET( r, i) ND_INDEX_STATUS_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_STATUS_VALUE_ASCII_GET( v) ( ND_INDEX_STATUS_VALUE_UNKNOWN_IS( (v)) ? "UNKNOWN" : ( ND_INDEX_STATUS_VALUE_OPENED_IS( (v)) ? "OPENED" : ( ND_INDEX_STATUS_VALUE_CLOSED_IS( (v)) ? "CLOSED" : "???"))) +# define ND_INDEX_STATUS_ASCII_GET( r, i) ND_INDEX_STATUS_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) -#define NDD_INDEX_TYPE_UNKNOWN 0x0000 -#define NDD_INDEX_TYPE_LIST 0x0010 -#define NDD_INDEX_TYPE_TREE 0x0020 -#define NDD_INDEX_TYPE_MSK (NDD_INDEX_TYPE_UNKNOWN | NDD_INDEX_TYPE_LIST | NDD_INDEX_TYPE_TREE) -#define NDD_INDEX_TYPE_RMSK (NDD_INDEX_MSK ^ NDD_INDEX_TYPE_MSK) +# define NDD_INDEX_TYPE_UNKNOWN 0x0000 +# define NDD_INDEX_TYPE_LIST 0x0010 +# define NDD_INDEX_TYPE_TREE 0x0020 +# define NDD_INDEX_TYPE_MSK ( NDD_INDEX_TYPE_UNKNOWN | NDD_INDEX_TYPE_LIST | NDD_INDEX_TYPE_TREE) +# define NDD_INDEX_TYPE_RMSK ( NDD_INDEX_MSK ^ NDD_INDEX_TYPE_MSK) -#define ND_INDEX_TYPE_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_UNKNOWN) -#define ND_INDEX_TYPE_VALUE_LIST_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_LIST) -#define ND_INDEX_TYPE_VALUE_TREE_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_TREE) +# define ND_INDEX_TYPE_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_UNKNOWN) +# define ND_INDEX_TYPE_VALUE_LIST_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_LIST) +# define ND_INDEX_TYPE_VALUE_TREE_IS( v) ( ( (v) & NDD_INDEX_TYPE_MSK) == NDD_INDEX_TYPE_TREE) -#define ND_INDEX_TYPE_UNKNOWN_IS( r, i) ND_INDEX_TYPE_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_TYPE_LIST_IS( r, i) ND_INDEX_TYPE_VALUE_LIST_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_TYPE_TREE_IS( r, i) ND_INDEX_TYPE_VALUE_TREE_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_TYPE_UNKNOWN_IS( r, i) ND_INDEX_TYPE_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_TYPE_LIST_IS( r, i) ND_INDEX_TYPE_VALUE_LIST_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_TYPE_TREE_IS( r, i) ND_INDEX_TYPE_VALUE_TREE_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_TYPE_VALUE_ASCII_GET( v) ( ND_INDEX_TYPE_VALUE_UNKNOWN_IS( (v)) ? "UNKNOWN" : ( ND_INDEX_TYPE_VALUE_LIST_IS( (v)) ? "LIST" : ( ND_INDEX_TYPE_VALUE_TREE_IS( (v)) ? "TREE" : "???"))) +# define ND_INDEX_TYPE_VALUE_ASCII_GET( v) ( ND_INDEX_TYPE_VALUE_UNKNOWN_IS( (v)) ? "UNKNOWN" : ( ND_INDEX_TYPE_VALUE_LIST_IS( (v)) ? "LIST" : ( ND_INDEX_TYPE_VALUE_TREE_IS( (v)) ? "TREE" : "???"))) -#define ND_INDEX_TYPE_ASCII_GET( r, i) ND_INDEX_TYPE_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_TYPE_ASCII_GET( r, i) ND_INDEX_TYPE_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) -#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_LILO NDD_INDEX_SUBTYPE_FIFO -#define NDD_INDEX_SUBTYPE_LIFO 0x0200 /* principe de la pile (First In Last Out) */ -#define NDD_INDEX_SUBTYPE_FILO NDD_INDEX_SUBTYPE_LIFO -#define NDD_INDEX_SUBTYPE_SORTED 0x0300 /* liste triée */ -#define NDD_INDEX_SUBTYPE_UNBALANCED 0x0400 -#define NDD_INDEX_SUBTYPE_BALANCED 0x0500 /* arbre auto-équilibré */ -#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_UNKNOWN 0x0000 +# 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_LIFO 0x0200 /* First In Last Out list (stack) */ +# define NDD_INDEX_SUBTYPE_FILO NDD_INDEX_SUBTYPE_LIFO +# define NDD_INDEX_SUBTYPE_SORTED 0x0300 /* Sorted list */ +# define NDD_INDEX_SUBTYPE_UNBALANCED 0x0400 +# 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_RMSK ( NDD_INDEX_MSK ^ NDD_INDEX_SUBTYPE_MSK) -#define ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_UNKNOWN) -#define ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_FIFO) -#define ND_INDEX_SUBTYPE_VALUE_LILO_IS( v) ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) -#define ND_INDEX_SUBTYPE_VALUE_LIFO_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_LIFO) -#define ND_INDEX_SUBTYPE_VALUE_FILO_IS( v) ND_INDEX_SUBTYPE_LIFO_IS( r, i) -#define ND_INDEX_SUBTYPE_VALUE_SORTED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_SORTED) -#define ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_UNBALANCED) -#define ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_BALANCED) +# define ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_UNKNOWN) +# define ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_FIFO) +# define ND_INDEX_SUBTYPE_VALUE_LILO_IS( v) ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) +# define ND_INDEX_SUBTYPE_VALUE_LIFO_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_LIFO) +# define ND_INDEX_SUBTYPE_VALUE_FILO_IS( v) ND_INDEX_SUBTYPE_LIFO_IS( r, i) +# define ND_INDEX_SUBTYPE_VALUE_SORTED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_SORTED) +# define ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_UNBALANCED) +# define ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( v) ( ( (v) & NDD_INDEX_SUBTYPE_MSK) == NDD_INDEX_SUBTYPE_BALANCED) -#define ND_INDEX_SUBTYPE_UNKNOWN_IS( r, i) ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_FIFO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_FIFO_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_LILO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_LILO_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_LIFO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_LIFO_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_FILO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_FILO_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_SORTED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_SORTED_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_UNBALANCED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_BALANCED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_UNKNOWN_IS( r, i) ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_FIFO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_FIFO_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_LILO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_LILO_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_LIFO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_LIFO_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_FILO_IS( r, i) ND_INDEX_SUBTYPE_VALUE_FILO_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_SORTED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_SORTED_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_UNBALANCED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_BALANCED_IS( r, i) ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( (r)->Index_Tab[(i)].Type) -#define ND_INDEX_SUBTYPE_VALUE_ASCII_GET( v) ( ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( v) ? "UNKNOWN" : ( ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) ? "FIFO" : ( ND_INDEX_SUBTYPE_VALUE_LIFO_IS( v) ? "LIFO" : ( ND_INDEX_SUBTYPE_VALUE_SORTED_IS( v) ? "SORTED" : ( ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( v) ? "UNBALANCED" : ( ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( v) ? "BALANCED" : "???")))))) -#define ND_INDEX_SUBTYPE_ASCII_GET( r, i) ND_INDEX_SUBTYPE_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) +# define ND_INDEX_SUBTYPE_VALUE_ASCII_GET( v) ( ND_INDEX_SUBTYPE_VALUE_UNKNOWN_IS( v) ? "UNKNOWN" : ( ND_INDEX_SUBTYPE_VALUE_FIFO_IS( v) ? "FIFO" : ( ND_INDEX_SUBTYPE_VALUE_LIFO_IS( v) ? "LIFO" : ( ND_INDEX_SUBTYPE_VALUE_SORTED_IS( v) ? "SORTED" : ( ND_INDEX_SUBTYPE_VALUE_UNBALANCED_IS( v) ? "UNBALANCED" : ( ND_INDEX_SUBTYPE_VALUE_BALANCED_IS( v) ? "BALANCED" : "???")))))) +# define ND_INDEX_SUBTYPE_ASCII_GET( r, i) ND_INDEX_SUBTYPE_VALUE_ASCII_GET( (r)->Index_Tab[(i)].Type) @@ -474,7 +466,7 @@ typedef int NDT_Index_Type; // } // // default: -// { +// { // printf( "ND_Default_Manager() called with an undefined command %d\n", Command); // return(NDS_ERRAPI); // } @@ -488,29 +480,29 @@ typedef int NDT_Index_Type; /* Var Args Manager Macros */ -#define ND_VA_LIST_OPEN( VA_List_Target, VA_List_Source) va_list VA_List_Target; va_copy( VA_List_Target, *va_arg( VA_List_Source, va_list *)) -#define ND_VA_LIST_CLOSE( VA_List) va_end( VA_List) -#define ND_VA_ARG_GET( Arg, VA_List, Type) Type Arg = va_arg( VA_List, Type) +# define ND_VA_LIST_OPEN( VA_List_Target, VA_List_Source) va_list VA_List_Target; va_copy( VA_List_Target, *va_arg( VA_List_Source, va_list *)) +# define ND_VA_LIST_CLOSE( VA_List) va_end( VA_List) +# define ND_VA_ARG_GET( Arg, VA_List, Type) Type Arg = va_arg( VA_List, Type) -/* Commandes du manager */ +/* Manager Commands */ typedef int NDT_Command; -#define NDD_CMD_UNKNOWN (NDT_Command)0 -#define NDD_CMD_MANAGER_VERSION (NDT_Command)1 -#define NDD_CMD_INDEX_GET (NDT_Command)2 -#define NDD_CMD_VALUE_ALLOC (NDT_Command)3 -#define NDD_CMD_VALUE_FREE (NDT_Command)4 -#define NDD_CMD_VALUE_COMP (NDT_Command)5 -#define NDD_CMD_VALUE_ADD (NDT_Command)6 -#define NDD_CMD_VALUE_REMOVE (NDT_Command)7 -#define NDD_CMD_VALUE_PRINT (NDT_Command)8 -#define NDD_CMD_VALUE_FIND (NDT_Command)9 -#define NDD_CMD_INFO_PRINT (NDT_Command)10 +# define NDD_CMD_UNKNOWN (NDT_Command)0 +# define NDD_CMD_MANAGER_VERSION (NDT_Command)1 +# define NDD_CMD_INDEX_GET (NDT_Command)2 +# define NDD_CMD_VALUE_ALLOC (NDT_Command)3 +# define NDD_CMD_VALUE_FREE (NDT_Command)4 +# define NDD_CMD_VALUE_COMP (NDT_Command)5 +# define NDD_CMD_VALUE_ADD (NDT_Command)6 +# define NDD_CMD_VALUE_REMOVE (NDT_Command)7 +# define NDD_CMD_VALUE_PRINT (NDT_Command)8 +# define NDD_CMD_VALUE_FIND (NDT_Command)9 +# define NDD_CMD_INFO_PRINT (NDT_Command)10 -#define NDD_CMD_USER_TRAVERSE (NDT_Command)17 +# define NDD_CMD_USER_TRAVERSE (NDT_Command)17 typedef char *NDT_Command_Name; @@ -518,32 +510,32 @@ 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; -#define ND_ERROR(s) ((s) <= 0) /* All negative or 0 status are errors */ +# define ND_ERROR(s) ( ( s) <= 0) /* All negative or 0 status are errors */ -#define NDS_OK 1 -#define NDS_KO 0 +# define NDS_OK 1 +# define NDS_KO 0 -#define NDS_YES 1 -#define NDS_NO 0 +# define NDS_YES 1 +# define NDS_NO 0 -#define NDS_EQUAL 1 -#define NDS_GREATER 2 -#define NDS_LOWER 3 +# define NDS_EQUAL 1 +# define NDS_GREATER 2 +# define NDS_LOWER 3 -#define NDS_ERRMEM -1 /* Problème d'allocation mémoire */ -#define NDS_ERRAPI -2 /* Utilisation incorrecte des API */ +# define NDS_ERRMEM -1 /* Memory allocation problem */ +# define NDS_ERRAPI -2 /* Bad API usage */ typedef short NDT_Index_Id; typedef short NDT_Index_Nb; -#define NDD_INDEX_UNKNOWN (NDT_Index_Id)-1 -#define NDD_INDEX_PRIMARY (NDT_Index_Id)0 +# define NDD_INDEX_UNKNOWN (NDT_Index_Id)-1 +# define NDD_INDEX_PRIMARY (NDT_Index_Id) 0 @@ -552,50 +544,50 @@ struct NDT_Node; -/* Pointeur de fonction sur le manager */ +/* Manager function pointer */ -#define NDD_MANAGER_NAME_LEN_MAX 64 -#define NDD_MANAGER_NAME_SIZE_MAX (NDD_MANAGER_NAME_LEN_MAX + 1) +# define NDD_MANAGER_NAME_LEN_MAX 64 +# define NDD_MANAGER_NAME_SIZE_MAX ( NDD_MANAGER_NAME_LEN_MAX + 1) typedef char *NDT_Manager_Name; 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_SIZE_MAX (NDD_ALLOCATOR_NAME_LEN_MAX + 1) +# define NDD_ALLOCATOR_NAME_LEN_MAX 64 +# define NDD_ALLOCATOR_NAME_SIZE_MAX ( NDD_ALLOCATOR_NAME_LEN_MAX + 1) 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_DESALLOCATOR_NAME_SIZE_MAX (NDD_DESALLOCATOR_NAME_LEN_MAX + 1) +# define NDD_DEALLOCATOR_NAME_LEN_MAX 64 +# 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 { - 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 Min_Depth; /* Profondeur minimale de l'arbre */ - long Max_Depth; /* Profondeur maximale de l'arbre */ - long Max_Dif; /* Différence maximale autorisée entre la branche la plus courte et la plus longue */ - long Nb_Equ; /* Nombre de réquilibrages réalisés sur l'arbre */ - struct NDT_Node *Head; /* Noeud de tête */ - struct NDT_Node *Tail; /* Noeud de queue */ - struct NDT_Node *Save; /* Pointeur de sauvegarde (utile pour la fonction de restauration) */ + long Node_Number; /* Number of node in the structure */ + long Min_Depth; /* Minimum tree depth */ + long Max_Depth; /* Maximum tree depth */ + long Max_Dif; /* Maximum allowed depth between tree branches before rebalancing */ + long Nb_Equ; /* Rebalancing count */ + struct NDT_Node *Head; /* Head node */ + struct NDT_Node *Tail; /* Tail node */ + struct NDT_Node *Save; /* Save pointer (Used by restore function) */ } NDT_Index; @@ -603,22 +595,19 @@ typedef struct NDT_Index typedef struct NDT_Root { -/* NDT_Root_Type Type;*/ /* Root Structure Type */ -/* NDT_DataStruct_Type DS_Type;*/ /* Type de la structure (liste, arbre ... ) */ + NDT_Manager *Manager_Ptr; /* Manager function pointer */ + 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 */ - char Manager_Name[NDD_MANAGER_NAME_SIZE_MAX]; /* Nom de la fonction manager */ - 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; /* Flag indicating if the structure is the node owner */ + void *User_Ptr; /* User pointer */ - 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_Open_Count; - NDT_Index Index_Tab[1]; + NDT_Index_Nb Index_Nb; + NDT_Index_Nb Index_Open_Count; + NDT_Index Index_Tab[ 1]; } NDT_Root; @@ -627,26 +616,26 @@ typedef struct NDT_Root typedef struct NDT_DataStruct { - NDT_Root *Root_Ptr; + NDT_Root *Root_Ptr; - NDT_Manager *Manager_Ptr; /* Manager function pointer */ - NDT_Allocator *Allocator_Ptr; /* Allocator function pointer */ - NDT_Desallocator *Desallocator_Ptr; /* Desallocator function pointer */ + NDT_Manager *Manager_Ptr; /* Manager function pointer */ + NDT_Allocator *Allocator_Ptr; /* Value allocator function pointer */ + NDT_Deallocator *Deallocator_Ptr; /* Value deallocator function pointer */ } NDT_DataStruct; -/* Structure de noeud */ +/* Node structure */ typedef struct NDT_Node { - NDT_Root *Root; - NDT_Index_Id Index; - struct NDT_Node *Parent; - struct NDT_Node *Left; - struct NDT_Node *Right; - void *Value; + NDT_Root *Root; + NDT_Index_Id Index; + struct NDT_Node *Parent; + struct NDT_Node *Left; + struct NDT_Node *Right; + void *Value; } NDT_Node; @@ -655,247 +644,269 @@ typedef int NDT_Recursive_Mode; typedef int NDT_Recursive_Depth; typedef int NDT_Recursive_Offset; -#define NDD_RECURSIVE_MODE_UNKNOWN (NDT_Recursive_Mode)0x00 -#define NDD_RECURSIVE_MODE_PARENT (NDT_Recursive_Mode)0x01 -#define NDD_RECURSIVE_MODE_CHILD (NDT_Recursive_Mode)0x02 -#define NDD_RECURSIVE_MODE_PARENT_CHILD (NDT_Recursive_Mode)0x03 +# define NDD_RECURSIVE_MODE_UNKNOWN ( NDT_Recursive_Mode)0x00 +# define NDD_RECURSIVE_MODE_PARENT ( NDT_Recursive_Mode)0x01 +# define NDD_RECURSIVE_MODE_CHILD ( NDT_Recursive_Mode)0x02 +# define NDD_RECURSIVE_MODE_PARENT_CHILD ( NDT_Recursive_Mode)0x03 -#define ND_RECURSIVE_PARENT_IS(m) (m & NDD_RECURSIVE_MODE_PARENT) -#define ND_RECURSIVE_CHILD_IS(m) (m & NDD_RECURSIVE_MODE_CHILD) +# define ND_RECURSIVE_PARENT_IS(m) ( m & NDD_RECURSIVE_MODE_PARENT) +# define ND_RECURSIVE_CHILD_IS(m) ( m & NDD_RECURSIVE_MODE_CHILD) -#define ND_RECURSIVE_PRINT_OFFSET 8 +# define ND_RECURSIVE_PRINT_OFFSET 8 -/* Définition des alias de l'API */ +/* Alias API definition */ -#ifndef ND_MODE -#define ND_MODE 0 -#endif +# ifndef ND_MODE +# define ND_MODE 0 +# 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_Close ND_Library_Close_I -#define ND_Library_StdErr_Set ND_Library_StdErr_Set_I +# define ND_Library_Open ND_Library_Open_I +# define ND_Library_Close ND_Library_Close_I +# define ND_Library_StdErr_Set ND_Library_StdErr_Set_I -#define ND_DataStruct_Open ND_DataStruct_Open_I -#define ND_DataStruct_Close ND_DataStruct_Close_I -#define ND_DataStruct_Flush ND_DataStruct_Flush_I -#define ND_DataStruct_Check ND_DataStruct_Check_I -#define ND_DataStruct_Convert ND_DataStruct_Convert_I -#define ND_DataStruct_Reorg ND_DataStruct_Reorg_I -#define ND_DataStruct_Traverse_V ND_DataStruct_Traverse_VI -#define ND_DataStruct_Traverse ND_DataStruct_Traverse_I -#define ND_DataStruct_Info_Print ND_DataStruct_Info_Print_I -#define ND_DataStruct_Value_Add ND_DataStruct_Value_Add_I -#define ND_DataStruct_Value_Remove ND_DataStruct_Value_Remove_I -#define ND_DataStruct_Value_Print ND_DataStruct_Value_Print_I -#define ND_DataStruct_Value_Find ND_DataStruct_Value_Find_I +# define ND_DataStruct_Open ND_DataStruct_Open_I +# define ND_DataStruct_Close ND_DataStruct_Close_I +# define ND_DataStruct_Flush ND_DataStruct_Flush_I +# define ND_DataStruct_Check ND_DataStruct_Check_I +# define ND_DataStruct_Convert ND_DataStruct_Convert_I +# define ND_DataStruct_Reorg ND_DataStruct_Reorg_I +# define ND_DataStruct_Traverse_V ND_DataStruct_Traverse_VI +# define ND_DataStruct_Traverse ND_DataStruct_Traverse_I +# define ND_DataStruct_Info_Print ND_DataStruct_Info_Print_I +# define ND_DataStruct_Value_Add ND_DataStruct_Value_Add_I +# define ND_DataStruct_Value_Remove ND_DataStruct_Value_Remove_I +# define ND_DataStruct_Value_Print ND_DataStruct_Value_Print_I +# define ND_DataStruct_Value_Find ND_DataStruct_Value_Find_I -#define ND_Index_Open ND_Index_Open_I -#define ND_Index_Close ND_Index_Close_I -#define ND_Index_Flush ND_Index_Flush_I -#define ND_Index_Check ND_Index_Check_I -#define ND_Index_Convert ND_Index_Convert_I -#define ND_Index_Reorg ND_Index_Reorg_I -#define ND_Index_Traverse_V ND_Index_Traverse_VI -#define ND_Index_Traverse ND_Index_Traverse_I -#define ND_Index_Info_Print ND_Index_Info_Print_I -#define ND_Index_Value_Add ND_Index_Value_Add_I -#define ND_Index_Value_Remove ND_Index_Value_Remove_I -#define ND_Index_Value_Print ND_Index_Value_Print_I -#define ND_Index_Node_Add ND_Index_Node_Add_I -#define ND_Index_Node_Remove ND_Index_Node_Remove_I -#define ND_Index_Node_First_Get ND_Index_Node_First_Get_I -#define ND_Index_Node_Last_Get ND_Index_Node_Last_Get_I -#define ND_Index_Node_Next_Get ND_Index_Node_Next_Get_I -#define ND_Index_Node_Previous_Get ND_Index_Node_Previous_Get_I -#define ND_Index_Node_Find ND_Index_Node_Find_I +# define ND_Index_Open ND_Index_Open_I +# define ND_Index_Close ND_Index_Close_I +# define ND_Index_Flush ND_Index_Flush_I +# define ND_Index_Check ND_Index_Check_I +# define ND_Index_Convert ND_Index_Convert_I +# define ND_Index_Reorg ND_Index_Reorg_I +# define ND_Index_Traverse_V ND_Index_Traverse_VI +# define ND_Index_Traverse ND_Index_Traverse_I +# define ND_Index_Info_Print ND_Index_Info_Print_I +# define ND_Index_Value_Add ND_Index_Value_Add_I +# define ND_Index_Value_Remove ND_Index_Value_Remove_I +# define ND_Index_Value_Print ND_Index_Value_Print_I +# define ND_Index_Node_Add ND_Index_Node_Add_I +# define ND_Index_Node_Remove ND_Index_Node_Remove_I +# define ND_Index_Node_First_Get ND_Index_Node_First_Get_I +# define ND_Index_Node_Last_Get ND_Index_Node_Last_Get_I +# define ND_Index_Node_Next_Get ND_Index_Node_Next_Get_I +# define ND_Index_Node_Previous_Get ND_Index_Node_Previous_Get_I +# define ND_Index_Node_Find ND_Index_Node_Find_I -#define ND_Node_Root_Get ND_Node_Root_Get_I +# define ND_Node_Root_Get ND_Node_Root_Get_I -#define ND_Value_Alloc ND_Value_Alloc_I -#define ND_Value_Free ND_Value_Free_I +# define ND_Value_Alloc ND_Value_Alloc_I +# define ND_Value_Free ND_Value_Free_I -#define ND_Manager_Exec_V ND_Manager_Exec_VI -#define ND_Manager_Exec ND_Manager_Exec_I -#define ND_Allocator_Exec ND_Allocator_Exec_I -#define ND_Desallocator_Exec ND_Desallocator_Exec_I +# define ND_Manager_Exec_V ND_Manager_Exec_VI +# define ND_Manager_Exec ND_Manager_Exec_I +# define ND_Allocator_Exec ND_Allocator_Exec_I +# define ND_Deallocator_Exec ND_Deallocator_Exec_I -#else /* API avec vérification des arguments */ -#define ND_Library_Open ND_Library_Open_C -#define ND_Library_Close ND_Library_Close_C -#define ND_Library_StdErr_Set ND_Library_StdErr_Set_C -#define ND_DataStruct_Open ND_DataStruct_Open_C -#define ND_DataStruct_Close ND_DataStruct_Close_C -#define ND_DataStruct_Flush ND_DataStruct_Flush_C -#define ND_DataStruct_Check ND_DataStruct_Check_C -#define ND_DataStruct_Convert ND_DataStruct_Convert_C -#define ND_DataStruct_Reorg ND_DataStruct_Reorg_C -#define ND_DataStruct_Traverse_V ND_DataStruct_Traverse_VC -#define ND_DataStruct_Traverse ND_DataStruct_Traverse_C -#define ND_DataStruct_Info_Print ND_DataStruct_Info_Print_C -#define ND_DataStruct_Value_Add ND_DataStruct_Value_Add_C -#define ND_DataStruct_Value_Remove ND_DataStruct_Value_Remove_C -#define ND_DataStruct_Value_Print ND_DataStruct_Value_Print_C -#define ND_DataStruct_Value_Find ND_DataStruct_Value_Find_C +# else /* Arg checking API */ -#define ND_Index_Open ND_Index_Open_C -#define ND_Index_Close ND_Index_Close_C -#define ND_Index_Flush ND_Index_Flush_C -#define ND_Index_Check ND_Index_Check_C -#define ND_Index_Convert ND_Index_Convert_C -#define ND_Index_Reorg ND_Index_Reorg_C -#define ND_Index_Traverse_V ND_Index_Traverse_VC -#define ND_Index_Traverse ND_Index_Traverse_C -#define ND_Index_Info_Print ND_Index_Info_Print_C -#define ND_Index_Value_Add ND_Index_Value_Add_C -#define ND_Index_Value_Remove ND_Index_Value_Remove_C -#define ND_Index_Value_Print ND_Index_Value_Print_C -#define ND_Index_Node_Add ND_Index_Node_Add_C -#define ND_Index_Node_Remove ND_Index_Node_Remove_C -#define ND_Index_Node_First_Get ND_Index_Node_First_Get_C -#define ND_Index_Node_Last_Get ND_Index_Node_Last_Get_C -#define ND_Index_Node_Next_Get ND_Index_Node_Next_Get_C -#define ND_Index_Node_Previous_Get ND_Index_Node_Previous_Get_C -#define ND_Index_Node_Find ND_Index_Node_Find_C -#define ND_Node_Root_Get ND_Node_Root_Get_C -#define ND_Value_Alloc ND_Value_Alloc_C -#define ND_Value_Free ND_Value_Free_C +# define ND_Library_Open ND_Library_Open_C +# define ND_Library_Close ND_Library_Close_C +# define ND_Library_StdErr_Set ND_Library_StdErr_Set_C -#define ND_Manager_Exec_V ND_Manager_Exec_VC -#define ND_Manager_Exec ND_Manager_Exec_C -#define ND_Allocator_Exec ND_Allocator_Exec_C -#define ND_Desallocator_Exec ND_Desallocator_Exec_C +# define ND_DataStruct_Open ND_DataStruct_Open_C +# define ND_DataStruct_Close ND_DataStruct_Close_C +# define ND_DataStruct_Flush ND_DataStruct_Flush_C +# define ND_DataStruct_Check ND_DataStruct_Check_C +# define ND_DataStruct_Convert ND_DataStruct_Convert_C +# define ND_DataStruct_Reorg ND_DataStruct_Reorg_C +# define ND_DataStruct_Traverse_V ND_DataStruct_Traverse_VC +# define ND_DataStruct_Traverse ND_DataStruct_Traverse_C +# define ND_DataStruct_Info_Print ND_DataStruct_Info_Print_C +# define ND_DataStruct_Value_Add ND_DataStruct_Value_Add_C +# define ND_DataStruct_Value_Remove ND_DataStruct_Value_Remove_C +# define ND_DataStruct_Value_Print ND_DataStruct_Value_Print_C +# define ND_DataStruct_Value_Find ND_DataStruct_Value_Find_C -#endif +# define ND_Index_Open ND_Index_Open_C +# define ND_Index_Close ND_Index_Close_C +# define ND_Index_Flush ND_Index_Flush_C +# define ND_Index_Check ND_Index_Check_C +# define ND_Index_Convert ND_Index_Convert_C +# define ND_Index_Reorg ND_Index_Reorg_C +# define ND_Index_Traverse_V ND_Index_Traverse_VC +# define ND_Index_Traverse ND_Index_Traverse_C +# define ND_Index_Info_Print ND_Index_Info_Print_C +# define ND_Index_Value_Add ND_Index_Value_Add_C +# define ND_Index_Value_Remove ND_Index_Value_Remove_C +# define ND_Index_Value_Print ND_Index_Value_Print_C +# define ND_Index_Node_Add ND_Index_Node_Add_C +# define ND_Index_Node_Remove ND_Index_Node_Remove_C +# define ND_Index_Node_First_Get ND_Index_Node_First_Get_C +# define ND_Index_Node_Last_Get ND_Index_Node_Last_Get_C +# define ND_Index_Node_Next_Get ND_Index_Node_Next_Get_C +# define ND_Index_Node_Previous_Get ND_Index_Node_Previous_Get_C +# define ND_Index_Node_Find ND_Index_Node_Find_C + +# define ND_Node_Root_Get ND_Node_Root_Get_C + +# define ND_Value_Alloc ND_Value_Alloc_C +# define ND_Value_Free ND_Value_Free_C + +# define ND_Manager_Exec_V ND_Manager_Exec_VC +# define ND_Manager_Exec ND_Manager_Exec_C +# define ND_Allocator_Exec ND_Allocator_Exec_C +# define ND_Deallocator_Exec ND_Deallocator_Exec_C + +# endif /*------------------------------------------------------------------------------*/ -# if defined(_WIN32) && !defined(LIBNODE_STATIC) -# ifndef _LIBNODE_C_ -# define NDD_DLL_API __declspec(dllimport) -# else -# define NDD_DLL_API __declspec(dllexport) -# endif -# else -# define NDD_DLL_API -# endif +# if defined( _WIN32) && !defined( LIBNODE_STATIC) +# ifndef _LIBNODE_C_ +# define NDD_DLL_API __declspec( dllimport) +# else +# define NDD_DLL_API __declspec( dllexport) +# endif +# else +# define NDD_DLL_API +# endif /*------------------------------------------------------------------------------*/ -/* Initialisation du contexte de la librairie */ +/* Library initialisation */ /*------------------------------------------------------------------------------*/ -NDD_DLL_API NDT_Status ND_Library_Open_I ( int Debug_Mode ); -NDD_DLL_API NDT_Status ND_Library_Open_C ( int Debug_Mode ); +/* (I) Debug_Mode: Open library in 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_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_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 */ -/* (I) Type: type de la structure.de données (liste ou arbre binaire) */ -/* (I) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (O) Root_Ptr_Ptr: Pointer adress of the new sata structure */ +/* (I) Index_Nb: Number of index */ +/* (I) Index_Type_Ptr: Array of Index type (List, tree, ...) */ +/* (I) Manager_Name: Manager function name */ +/* (I) Manager_Ptr: Manager function pointer */ +/* (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_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_C( NDT_Root *); /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a datat structure: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (O) Error_Corrected_Nb_Ptr: Number of error corected pointer */ +/* (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_C( NDT_Root *, int *, int *, FILE *); /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données : */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Convert a data structure indexe types */ /*------------------------------------------------------------------------------*/ -/* (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_C( NDT_Root *, NDT_Index_Type *); /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Reorganise a data structure indexes: */ +/* - Sort a non-sorted list */ +/* - Rebalance a non auto-balanced tree */ /*------------------------------------------------------------------------------*/ -/* (I) Root: pointeur sur la racine de la structure de données */ -/* (I) Command: Commande à exécuter sur chaque noeud traversé */ -/* (I) Data: pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ /*------------------------------------------------------------------------------*/ + +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_VC( NDT_Root *, NDT_Command, va_list *); 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) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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_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) Value: pointeur sur la valeur à ajouter */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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_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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ /*------------------------------------------------------------------------------*/ + 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 *); /*------------------------------------------------------------------------------*/ -/* 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) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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_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, ...); @@ -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) Node : pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Value_Ptr_Ptr: Value pointer address found */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Ref_Value_Ptr: Reference value pointer to search */ +/* (I) ...: User args */ /*------------------------------------------------------------------------------*/ 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) Type: type de la structure.de données (liste ou arbre binaire) */ -/* (I) Allocator: pointeur vers la fonction d'allocation */ -/* (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 */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (I) Index_Type: Index type (List, tree, ...) */ /*------------------------------------------------------------------------------*/ + 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); /*------------------------------------------------------------------------------*/ -/* 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_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_C( NDT_Root *, NDT_Index_Id); /*------------------------------------------------------------------------------*/ -/* Function de réparation d'une structure : */ -/* - vérifie que tous les noeuds sont correctement liés les uns aux autres */ -/* - corrige les informations statistiques de la racine */ +/* Check & repare a data structure index: */ +/* - Check & fix node links */ +/* - Update data structure statistics */ /*------------------------------------------------------------------------------*/ -/* (I) Root : pointeur sur la racine de la structure */ -/* (O) Nb_Detected : pointeur sur le nombre d'erreurs */ -/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */ -/* (I) Out : flux de sortie du rapport */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (O) Error_Dectected_Nb_Ptr: Number of error detected pointer */ +/* (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_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) Target_Type: type de structure cible */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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_C ( NDT_Root *, NDT_Index_Id, NDT_Index_Type); /*------------------------------------------------------------------------------*/ -/* Réorganisation d'une structure de données : */ -/* - ordonnancement d'une liste non ordonnée */ -/* - réquilibrage d'un arbre non auto-équilibré */ +/* Reorganise a data structure index: */ +/* - 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) 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_C( NDT_Root *, NDT_Index_Id); /*------------------------------------------------------------------------------*/ -/* Parcours de tous les noeuds d'une structure de données et exécution d'une */ -/* commande sur chacun d'eux */ +/* Traverse a data structure index & execute a command on each node */ /*------------------------------------------------------------------------------*/ -/* (I) Root: pointeur sur la racine de la structure de données */ -/* (I) Command: Commande à exécuter sur chaque noeud traversé */ -/* (I) Data: pointeur de données utilisateur */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (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_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, ...); @@ -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 */ -/* commande sur chacun d'eux */ +/* Print data structure index information */ /*------------------------------------------------------------------------------*/ -/* (I) Root: pointeur sur la racine de la structure de données */ -/* (I) Command: Commande à exécuter sur chaque noeud traversé */ -/* (I) Data: pointeur de données utilisateur */ +/* (I) Stream: Output stream */ +/* (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 */ /*------------------------------------------------------------------------------*/ + 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); /*------------------------------------------------------------------------------*/ -/* 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) Value: pointeur sur la valeur à ajouter */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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_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) Reference_Value : pointeur sur la valeur de référence */ -/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (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_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) Out : flux de sortie */ +/* (I) Stream: Output stream */ +/* (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_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, ...); @@ -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) Node: pointeur sur le noeud à ajouter */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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_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_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 : pointeur sur le noeud à récupérer */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (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_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 : pointeur sur le noeud à récupérer */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (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_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) Next_Node : pointeur sur le noeud suivant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (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_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) Prev_Node : pointeur sur le noeud précédant */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (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_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 : pointeur sur le noeud à récuperer */ -/* (I) Value : pointeur sur la valeur à rechercher */ -/* (I) Data : pointeur de données */ +/* (O) Node_Ptr_Ptr: Node pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (I) Index_Id: Id of the index */ +/* (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_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 *, ...); @@ -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 */ -/* (I) Node: pointeur sur le noeud dont on cherche la racine */ +/* (O) Root_Ptr_Ptr: Data structure pointer address */ +/* (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_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 : adresse d'un pointeur sur la valeur à allouer */ -/* (I) ... : arguments relatifs à l'allocation de la valeur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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) Value: pointeur sur la valeur à désallouer */ +/* (I) Root_Ptr: Data structure pointer */ +/* (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_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_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, ...); @@ -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) Ptr : adresse d'un pointeur sur la zone à allouer */ -/* (I) Size : taille de la zone à allouer */ -/* (I) Data : pointeur de données utiles à l'allocateur */ +/* (O) Value_Ptr_Ptr: Value pointer address */ +/* (I) Allocator_Name: Value allocator function name */ +/* (I) Allocator_Ptr: Value allocator function pointer */ +/* (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_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) Function : nom de la fonction à exécuter */ -/* (I) Ptr : adresse de la zone à désallouer */ -/* (I) Data : pointeur de données utiles au désallocateur */ +/* (I) Value_Ptr: Value pointer */ +/* (I) Allocator_Name: Value deallocator function name */ +/* (I) Allocator_Ptr: Value deallocator function pointer */ +/* (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 *);