22 Commits

Author SHA1 Message Date
agibert
2910b792d3 Initial creation. 2002-02-27 17:32:52 +00:00
agibert
ddfea222ca Add into 2.0.2-1 entry:
libnode.rc resource file addition and use.
2002-02-27 17:25:12 +00:00
agibert
4c11aa6001 Add CVS tags. 2002-02-27 17:17:05 +00:00
agibert
2113d2fa5b Initial creation. 2002-02-27 17:00:03 +00:00
agibert
2103e4fa5e Add libnode.rc resource file. 2002-02-27 16:58:37 +00:00
agibert
325bf712f4 Add into 2.0.2-1 entry:
VisualStudio Project now generate Windows DLL.
2002-02-27 16:29:12 +00:00
agibert
417673d1cd Replace stderr by File_Out in ND_DataStruct_Check() and ND_Index_Check() functions,
Replace out dated _LIBVER by _LIBVER_SUPPORT.
2002-02-27 16:14:22 +00:00
agibert
b649d3b5ea Rework ND_DataStruct_Check_I() and ND_Index_Check_I() functions. 2002-02-27 16:08:07 +00:00
agibert
2a80300887 Comment out strdup () and sigrelse() unused functions. 2002-02-27 16:05:15 +00:00
agibert
94ae4f3448 Add Windows DLL support:
Add NDD_DLL_API and LIBNODE_STATIC defines.
2002-02-27 16:04:10 +00:00
agibert
17fad87ce2 Add dynamic librarie creation,
Switch to Multi-Thread DLL debug mode.
2002-02-27 16:02:15 +00:00
agibert
1de5944904 Switch to Multi-Thread DLL debug mode. 2002-02-27 15:57:53 +00:00
agibert
508aba8bde Add in 2.0.2-1 entry:
Add no libver support in Makefiles.
2002-02-26 19:30:13 +00:00
agibert
3002869e96 Fix no libver handling. 2002-02-26 16:51:47 +00:00
agibert
1f50073641 Fix Index loop counting bugs in ND_DataStruct_Flush_I() and ND_Node_Root_Alloc()... 2002-02-26 16:38:19 +00:00
agibert
e56381b50e Minor spell s sta 2002-02-25 23:40:42 +00:00
agibert
85b6b70aa2 Now generates static and dynamic executables. 2002-02-25 23:38:22 +00:00
agibert
719416547a Now generates static and dynamic executablesje 2002-02-25 23:37:49 +00:00
agibert
5ed694ea38 Now generates static and dynamic libraries. 2002-02-25 23:37:21 +00:00
agibert
2e4fefc2b1 Implement Index_Close and Index_Info_Print functions. 2002-02-25 23:35:51 +00:00
agibert
86b1498a2e Rename Index_Open_Nb intoIndex_Open_Count,
Fix bug in ND_Node_Root_Alloc() on Index_Open_Count handling.
2002-02-25 23:34:36 +00:00
agibert
724109a537 Add 2.0.2-1 entry:
Fix Index_Open_Count bug in LibNodeles generate static and dynamic objects,,
   Makefiles generate static and dynamic objects,
   NbBench implement Inde
2002-02-25 23:32:41 +00:00
14 changed files with 443 additions and 195 deletions

View File

@@ -1,7 +1,7 @@
# $RCSfile: ReadMe.txt,v $
# $Revision: 2.1 $
# $Revision: 2.2 $
# $Name: $
# $Date: 2001/11/26 11:15:25 $
# $Date: 2002/02/25 23:40:42 $
# $Author: agibert $
@@ -18,7 +18,7 @@ This release of LibNode support the following OS:
The support of LibVer is now optional.
LibShm and LibDataStr are no more supported.
Warning: Associated documentation are outdated...
Warning: Associated documentation is outdated...
Please read demo and ndbench code.

View File

@@ -1,13 +1,27 @@
# $RCSfile: ReleaseNotes.txt,v $
# $Revision: 2.3 $
# $Revision: 2.7 $
# $Name: $
# $Date: 2001/11/28 13:57:51 $
# $Date: 2002/02/27 17:25:12 $
# $Author: agibert $
--------------------------------------------------------------------------------
LibNode V 2.0.2-1 - A. Gibert - 27/02/02
--------------------------------------------------------------------------------
All: Makefiles now generate static and dynamic objects,
All: Add no libver support in Makefiles,
LibNode: VisualStudio Project now generate Windows DLL and use libnode.rc resource file,
LibNode: Rename Index_Open_Nb into Index_Open_Count,
LibNode: Fix bugs in ND_Node_Root_Alloc() on Index_Open_Count handling,
LibNode: Minor fix into ND_DataStruct_Check_I() and ND_Index_Check_I() functions.
NbBench: Implement Index_Close and Index_Info_Print functions.
--------------------------------------------------------------------------------
LibNode V 2.0.1-1 - A. Gibert - 28/11/01
--------------------------------------------------------------------------------

View File

@@ -1,8 +1,10 @@
all: demo0 demo0-static
all: demo0
demo0-static: demo0.c ../lib/node.h ../lib/libnode.a Makefile
gcc -g -o demo0-static -I ../lib -ldl demo0.c ../lib/libnode.a
demo0: demo0.c ../../libver/ver.h ../lib/node.h ../../libver/libver.so ../lib/libnode.so Makefile
gcc -g -o demo0 -I ../../libver -I ../lib -ldl ../../libver/libver.so ../lib/libnode.so demo0.c
demo0: demo0.c ../lib/node.h ../lib/libnode.so Makefile
gcc -g -o demo0 -I ../lib -L ../lib -ldl -lnode demo0.c
clean:
rm demo0
rm -f demo0 demo0-static

View File

@@ -87,6 +87,15 @@ LINK32=link.exe
# Begin Source File
SOURCE=.\demo0.c
!IF "$(CFG)" == "demo0 - Win32 Release"
!ELSEIF "$(CFG)" == "demo0 - Win32 Debug"
# ADD CPP /MDd
!ENDIF
# End Source File
# End Group
# Begin Group "Header Files"

View File

@@ -1,16 +1,16 @@
/*---------------------------------------------------------------------------------*/
/* $RCSfile: node.h,v $ */
/*---------------------------------------------------------------------------------*/
/* $Revision: 2.1 $ */
/* $Revision: 2.3 $ */
/* $Name: $ */
/* $Date: 2001/11/28 13:43:50 $ */
/* $Date: 2002/02/27 16:04:10 $ */
/* $Author: agibert $ */
/*---------------------------------------------------------------------------------*/
#ifndef _LIBNODE
#define _LIBNODE
#ifndef _LIBNODE_H_
#define _LIBNODE_H_
#ifdef __cplusplus
extern "C" {
@@ -254,7 +254,7 @@ typedef struct NDT_Root
void *User; /* Pointeur utilisable librement par l'utilisateur */
NDT_Index_Nb Index_Nb;
NDT_Index_Nb Index_Open_Nb;
NDT_Index_Nb Index_Open_Count;
NDT_Index Index_Tab[0];
} NDT_Root;
@@ -418,27 +418,41 @@ typedef int NDT_Recursive_Offset;
/*------------------------------------------------------------------------------*/
# if defined(_MSC_VER) && !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 */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Library_Open_I ( int Debug_Mode );
NDT_Status ND_Library_Open_C ( int Debug_Mode );
NDD_DLL_API NDT_Status ND_Library_Open_I ( int Debug_Mode );
NDD_DLL_API NDT_Status ND_Library_Open_C ( int Debug_Mode );
/*------------------------------------------------------------------------------*/
/* Fermeture du contexte de la librairie */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Library_Close_I( void);
NDT_Status ND_Library_Close_C( void);
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 */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Library_Stderr_Set_I( FILE *Out);
NDT_Status ND_Library_Stderr_Set_C( FILE *Out);
NDD_DLL_API NDT_Status ND_Library_Stderr_Set_I( FILE *Out);
NDD_DLL_API NDT_Status ND_Library_Stderr_Set_C( FILE *Out);
@@ -452,8 +466,8 @@ NDT_Status ND_Library_Stderr_Set_C( FILE *Out);
/* (I) Data : pointeur de données utiles à l'allocateur */
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
/*------------------------------------------------------------------------------*/
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 *);
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_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 *);
@@ -462,8 +476,8 @@ NDT_Status ND_DataStruct_Open_C( NDT_Root **, NDT_Index_Nb, NDT_Index_Type *,
/*------------------------------------------------------------------------------*/
/* (O) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Close_I( NDT_Root *Root);
NDT_Status ND_DataStruct_Close_C( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Close_I( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Close_C( NDT_Root *Root);
@@ -472,8 +486,8 @@ NDT_Status ND_DataStruct_Close_C( NDT_Root *Root);
/*------------------------------------------------------------------------------*/
/* (O) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Flush_I( NDT_Root *Root);
NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Flush_I( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root);
@@ -487,8 +501,8 @@ NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root);
/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */
/* (I) Out : flux de sortie du rapport */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Check_I( NDT_Root *Root, int *Nb_Detected, int *Nb_Corrected, FILE *Out);
NDT_Status ND_DataStruct_Check_C( NDT_Root *Root, int *Nb_Detected, int *Nb_Corrected, FILE *Out);
NDD_DLL_API NDT_Status ND_DataStruct_Check_I( NDT_Root *Root, int *Nb_Detected, int *Nb_Corrected, FILE *Out);
NDD_DLL_API NDT_Status ND_DataStruct_Check_C( NDT_Root *Root, int *Nb_Detected, int *Nb_Corrected, FILE *Out);
@@ -499,8 +513,8 @@ NDT_Status ND_DataStruct_Check_C( NDT_Root *Root, int *Nb_Detected, int *Nb_C
/*------------------------------------------------------------------------------*/
/* (I) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Reorg_I( NDT_Root *Root);
NDT_Status ND_DataStruct_Reorg_C( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_I( NDT_Root *Root);
NDD_DLL_API NDT_Status ND_DataStruct_Reorg_C( NDT_Root *Root);
@@ -510,8 +524,8 @@ NDT_Status ND_DataStruct_Reorg_C( NDT_Root *Root);
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Target_Type: type de structure cible */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Convert_I( NDT_Root *, NDT_Index_Type *);
NDT_Status ND_DataStruct_Convert_C( NDT_Root *, NDT_Index_Type *);
NDD_DLL_API NDT_Status ND_DataStruct_Convert_I( NDT_Root *, NDT_Index_Type *);
NDD_DLL_API NDT_Status ND_DataStruct_Convert_C( NDT_Root *, NDT_Index_Type *);
@@ -523,10 +537,10 @@ NDT_Status ND_DataStruct_Convert_C( NDT_Root *, NDT_Index_Type *);
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
/* (I) Data: pointeur de données utilisateur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *, NDT_Command Command, va_list);
NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *, NDT_Command Command, va_list);
NDT_Status ND_DataStruct_Traverse_I( NDT_Root *, NDT_Command Command, ...);
NDT_Status ND_DataStruct_Traverse_C( NDT_Root *, NDT_Command Command, ...);
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VI( NDT_Root *, NDT_Command Command, va_list);
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_VC( NDT_Root *, NDT_Command Command, va_list);
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_I( NDT_Root *, NDT_Command Command, ...);
NDD_DLL_API NDT_Status ND_DataStruct_Traverse_C( NDT_Root *, NDT_Command Command, ...);
@@ -536,8 +550,8 @@ NDT_Status ND_DataStruct_Traverse_C( NDT_Root *, NDT_Command Command, ...);
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Out : flux de sortie */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Info_Print_I( FILE *, NDT_Root *Root, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
NDT_Status ND_DataStruct_Info_Print_C( FILE *, NDT_Root *Root, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_I( FILE *, NDT_Root *Root, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
NDD_DLL_API NDT_Status ND_DataStruct_Info_Print_C( FILE *, NDT_Root *Root, NDT_Recursive_Mode Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
@@ -547,8 +561,8 @@ NDT_Status ND_DataStruct_Info_Print_C( FILE *, NDT_Root *Root, NDT_Recursive_M
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Value: pointeur sur la valeur à ajouter */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *Root, void *Value);
NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *Root, void *Value);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_I( NDT_Root *Root, void *Value);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *Root, void *Value);
@@ -559,8 +573,8 @@ NDT_Status ND_DataStruct_Value_Add_C( NDT_Root *Root, void *Value);
/* (I) Reference_Value : pointeur sur la valeur de référence */
/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *Root, void *Value);
NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *Root, void *Value);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_I( NDT_Root *Root, void *Value);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *Root, void *Value);
@@ -570,9 +584,9 @@ NDT_Status ND_DataStruct_Value_Remove_C( NDT_Root *Root, void *Value);
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Out : flux de sortie */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Value_Print_VI( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list);
NDT_Status ND_DataStruct_Value_Print_I( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
NDT_Status ND_DataStruct_Value_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Print_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, ...);
@@ -585,10 +599,10 @@ NDT_Status ND_DataStruct_Value_Print_C( FILE *, NDT_Root *, NDT_Recursive_Mode
/* (I) Data : pointeur de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Value_Find_VI( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list);
NDT_Status ND_DataStruct_Value_Find_VC( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list);
NDT_Status ND_DataStruct_Value_Find_I( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...);
NDT_Status ND_DataStruct_Value_Find_C( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_VI( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_VC( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, va_list);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_I( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...);
NDD_DLL_API NDT_Status ND_DataStruct_Value_Find_C( void **Value_Ptr_Ptr, NDT_Root *Root_Ptr, void *Ref_Value_Ptr, ...);
@@ -602,8 +616,8 @@ NDT_Status ND_DataStruct_Value_Find_C( void **Value_Ptr_Ptr, NDT_Root *Root_P
/* (I) Data : pointeur de données utiles à l'allocateur */
/* (I) Own_Value : indique si la structure est propriétaire de ses valeurs */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Open_I( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
NDT_Status ND_Index_Open_C( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
NDD_DLL_API NDT_Status ND_Index_Open_I( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
NDD_DLL_API NDT_Status ND_Index_Open_C( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
@@ -612,8 +626,8 @@ NDT_Status ND_Index_Open_C( NDT_Root *, NDT_Index_Id, NDT_Index_Type);
/*------------------------------------------------------------------------------*/
/* (O) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Close_I( NDT_Root *, NDT_Index_Id);
NDT_Status ND_Index_Close_C( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Close_I( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Close_C( NDT_Root *, NDT_Index_Id);
@@ -622,8 +636,8 @@ NDT_Status ND_Index_Close_C( NDT_Root *, NDT_Index_Id);
/*------------------------------------------------------------------------------*/
/* (O) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Flush_I( NDT_Root *, NDT_Index_Id);
NDT_Status ND_Index_Flush_C( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Flush_I( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Flush_C( NDT_Root *, NDT_Index_Id);
@@ -637,8 +651,8 @@ NDT_Status ND_Index_Flush_C( NDT_Root *, NDT_Index_Id);
/* (O) Nb_Corrected : pointeur sur le nombre d'erreurs */
/* (I) Out : flux de sortie du rapport */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Check_I( NDT_Root *Root, NDT_Index_Id, int *, int *, FILE *);
NDT_Status ND_Index_Check_C( NDT_Root *Root, NDT_Index_Id, int *, int *, FILE *);
NDD_DLL_API NDT_Status ND_Index_Check_I( NDT_Root *Root, NDT_Index_Id, int *, int *, FILE *);
NDD_DLL_API NDT_Status ND_Index_Check_C( NDT_Root *Root, NDT_Index_Id, int *, int *, FILE *);
@@ -648,8 +662,8 @@ NDT_Status ND_Index_Check_C( NDT_Root *Root, NDT_Index_Id, int *, int *, FIL
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Target_Type: type de structure cible */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Convert_I ( NDT_Root *, NDT_Index_Id Index_Id, NDT_Index_Type);
NDT_Status ND_Index_Convert_C ( NDT_Root *, NDT_Index_Id Index_Id, NDT_Index_Type);
NDD_DLL_API NDT_Status ND_Index_Convert_I ( NDT_Root *, NDT_Index_Id Index_Id, NDT_Index_Type);
NDD_DLL_API NDT_Status ND_Index_Convert_C ( NDT_Root *, NDT_Index_Id Index_Id, NDT_Index_Type);
@@ -660,8 +674,8 @@ NDT_Status ND_Index_Convert_C ( NDT_Root *, NDT_Index_Id Index_Id, NDT_Index_T
/*------------------------------------------------------------------------------*/
/* (I) Root: pointeur sur la racine de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Reorg_I( NDT_Root *, NDT_Index_Id);
NDT_Status ND_Index_Reorg_C( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Reorg_I( NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Reorg_C( NDT_Root *, NDT_Index_Id);
@@ -673,10 +687,10 @@ NDT_Status ND_Index_Reorg_C( NDT_Root *, NDT_Index_Id);
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
/* (I) Data: pointeur de données utilisateur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Traverse_VI( NDT_Root *, NDT_Index_Id, NDT_Command, va_list);
NDT_Status ND_Index_Traverse_VC( NDT_Root *, NDT_Index_Id, NDT_Command, va_list);
NDT_Status ND_Index_Traverse_I( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
NDT_Status ND_Index_Traverse_C( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
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, ...);
NDD_DLL_API NDT_Status ND_Index_Traverse_C( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
@@ -688,8 +702,8 @@ NDT_Status ND_Index_Traverse_C( NDT_Root *, NDT_Index_Id, NDT_Command, ...);
/* (I) Command: Commande à exécuter sur chaque noeud traversé */
/* (I) Data: pointeur de données utilisateur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Info_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
NDT_Status ND_Index_Info_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset);
NDD_DLL_API NDT_Status ND_Index_Info_Print_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);
@@ -699,8 +713,8 @@ NDT_Status ND_Index_Info_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recur
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Value: pointeur sur la valeur à ajouter */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Value_Add_I( NDT_Root *Root, NDT_Index_Id, void *Value);
NDT_Status ND_Index_Value_Add_C( NDT_Root *Root, NDT_Index_Id, void *Value);
NDD_DLL_API NDT_Status ND_Index_Value_Add_I( NDT_Root *Root, NDT_Index_Id, void *Value);
NDD_DLL_API NDT_Status ND_Index_Value_Add_C( NDT_Root *Root, NDT_Index_Id, void *Value);
@@ -711,8 +725,8 @@ NDT_Status ND_Index_Value_Add_C( NDT_Root *Root, NDT_Index_Id, void *Value);
/* (I) Reference_Value : pointeur sur la valeur de référence */
/* (I) Removed_Value : adresse d'un pointeur sur la valeur supprimée */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Value_Remove_I( NDT_Root *Root, NDT_Index_Id, void *Value);
NDT_Status ND_Index_Value_Remove_C( NDT_Root *Root, NDT_Index_Id, void *Value);
NDD_DLL_API NDT_Status ND_Index_Value_Remove_I( NDT_Root *Root, NDT_Index_Id, void *Value);
NDD_DLL_API NDT_Status ND_Index_Value_Remove_C( NDT_Root *Root, NDT_Index_Id, void *Value);
@@ -722,9 +736,9 @@ NDT_Status ND_Index_Value_Remove_C( NDT_Root *Root, NDT_Index_Id, void *Value)
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Out : flux de sortie */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Value_Print_VI( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, va_list);
NDT_Status ND_Index_Value_Print_I( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
NDT_Status ND_Index_Value_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recursive_Mode, NDT_Recursive_Depth, NDT_Recursive_Offset, ...);
NDD_DLL_API NDT_Status ND_Index_Value_Print_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, ...);
@@ -734,8 +748,8 @@ NDT_Status ND_Index_Value_Print_C( FILE *, NDT_Root *, NDT_Index_Id, NDT_Recu
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Node: pointeur sur le noeud à ajouter */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Add_I( NDT_Root * Root, NDT_Index_Id Index_Id, NDT_Node * Node );
NDT_Status ND_Index_Node_Add_C( NDT_Root * Root, NDT_Index_Id Index_Id, NDT_Node * Node );
NDD_DLL_API NDT_Status ND_Index_Node_Add_I( NDT_Root * Root, NDT_Index_Id Index_Id, NDT_Node * Node );
NDD_DLL_API NDT_Status ND_Index_Node_Add_C( NDT_Root * Root, NDT_Index_Id Index_Id, NDT_Node * Node );
@@ -744,8 +758,8 @@ NDT_Status ND_Index_Node_Add_C( NDT_Root * Root, NDT_Index_Id Index_Id, NDT_Nod
/*------------------------------------------------------------------------------*/
/* (I) Node: pointeur sur le noeud à supprimer de la structure de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Remove_I( NDT_Node * Node);
NDT_Status ND_Index_Node_Remove_C( NDT_Node * Node);
NDD_DLL_API NDT_Status ND_Index_Node_Remove_I( NDT_Node * Node);
NDD_DLL_API NDT_Status ND_Index_Node_Remove_C( NDT_Node * Node);
@@ -755,8 +769,8 @@ NDT_Status ND_Index_Node_Remove_C( NDT_Node * Node);
/* (I) Root : pointeur sur la racine dont on cherche le premier noeud */
/* (O) Node : pointeur sur le noeud à récupérer */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_First_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
NDT_Status ND_Index_Node_First_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Node_First_Get_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);
@@ -766,8 +780,8 @@ NDT_Status ND_Index_Node_First_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
/* (I) Root: pointeur sur la racine dont on cherche le dernier noeud */
/* (O) Node : pointeur sur le noeud à récupérer */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Last_Get_I( NDT_Node **, NDT_Root *, NDT_Index_Id);
NDT_Status ND_Index_Node_Last_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
NDD_DLL_API NDT_Status ND_Index_Node_Last_Get_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);
@@ -777,8 +791,8 @@ NDT_Status ND_Index_Node_Last_Get_C( NDT_Node **, NDT_Root *, NDT_Index_Id);
/* (I) Node: pointeur sur le noeud dont on cherche le suivant */
/* (O) Next_Node : pointeur sur le noeud suivant */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Next_Get_I( NDT_Node **, NDT_Node *);
NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_I( NDT_Node **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **, NDT_Node *);
@@ -788,8 +802,8 @@ NDT_Status ND_Index_Node_Next_Get_C( NDT_Node **, NDT_Node *);
/* (I) Node: pointeur sur le noeud dont on cherche le précédant */
/* (O) Prev_Node : pointeur sur le noeud précédant */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **, NDT_Node *);
NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_I( NDT_Node **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **, NDT_Node *);
@@ -801,10 +815,10 @@ NDT_Status ND_Index_Node_Previous_Get_C( NDT_Node **, NDT_Node *);
/* (I) Value : pointeur sur la valeur à rechercher */
/* (I) Data : pointeur de données */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Node_Find_VI( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list);
NDT_Status ND_Index_Node_Find_VC( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, va_list);
NDT_Status ND_Index_Node_Find_I( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, ...);
NDT_Status ND_Index_Node_Find_C( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, ...);
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 *, ...);
NDD_DLL_API NDT_Status ND_Index_Node_Find_C( NDT_Node **, NDT_Root *, NDT_Index_Id, void *, ...);
@@ -814,8 +828,8 @@ NDT_Status ND_Index_Node_Find_C( NDT_Node **, NDT_Root *, NDT_Index_Id, void
/* (O) Root: Adresse du pointeur sur la racine à récupérer */
/* (I) Node: pointeur sur le noeud dont on cherche la racine */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Node_Root_Get_I( NDT_Root **, NDT_Node *);
NDT_Status ND_Node_Root_Get_C( NDT_Root **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Node_Root_Get_I( NDT_Root **, NDT_Node *);
NDD_DLL_API NDT_Status ND_Node_Root_Get_C( NDT_Root **, NDT_Node *);
@@ -826,8 +840,8 @@ NDT_Status ND_Node_Root_Get_C( NDT_Root **, NDT_Node *);
/* (O) Value : adresse d'un pointeur sur la valeur à allouer */
/* (I) ... : arguments relatifs à l'allocation de la valeur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Value_Alloc_I( NDT_Root *, void **, ...);
NDT_Status ND_Value_Alloc_C( NDT_Root *, void **, ...);
NDD_DLL_API NDT_Status ND_Value_Alloc_I( NDT_Root *, void **, ...);
NDD_DLL_API NDT_Status ND_Value_Alloc_C( NDT_Root *, void **, ...);
@@ -837,8 +851,8 @@ NDT_Status ND_Value_Alloc_C( NDT_Root *, void **, ...);
/* (I) Root: pointeur sur la racine de la structure de données */
/* (I) Value: pointeur sur la valeur à désallouer */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Value_Free_I( NDT_Root *, void *);
NDT_Status ND_Value_Free_C( NDT_Root *, void *);
NDD_DLL_API NDT_Status ND_Value_Free_I( NDT_Root *, void *);
NDD_DLL_API NDT_Status ND_Value_Free_C( NDT_Root *, void *);
@@ -847,10 +861,10 @@ NDT_Status ND_Value_Free_C( NDT_Root *, void *);
/*------------------------------------------------------------------------------*/
/* (I) Function : nom de la fonction manager à exécuter */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Manager_Exec_VI( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list);
NDT_Status ND_Manager_Exec_VC( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, va_list);
NDT_Status ND_Manager_Exec_I( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, ...);
NDT_Status ND_Manager_Exec_C( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, ...);
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, ...);
NDD_DLL_API NDT_Status ND_Manager_Exec_C( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Command, ...);
@@ -862,8 +876,8 @@ NDT_Status ND_Manager_Exec_C( NDT_Root *, NDT_Index_Id, NDT_Node *, NDT_Comman
/* (I) Size : taille de la zone à allouer */
/* (I) Data : pointeur de données utiles à l'allocateur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Allocator_Exec_I( NDT_Allocator *, void **, size_t, void *);
NDT_Status ND_Allocator_Exec_C( NDT_Allocator *, void **, size_t, void *);
NDD_DLL_API NDT_Status ND_Allocator_Exec_I( NDT_Allocator *, void **, size_t, void *);
NDD_DLL_API NDT_Status ND_Allocator_Exec_C( NDT_Allocator *, void **, size_t, void *);
@@ -874,8 +888,8 @@ NDT_Status ND_Allocator_Exec_C( NDT_Allocator *, void **, size_t, void *);
/* (I) Ptr : adresse de la zone à désallouer */
/* (I) Data : pointeur de données utiles au désallocateur */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Desallocator_Exec_I( NDT_Desallocator *, void *, void *);
NDT_Status ND_Desallocator_Exec_C( NDT_Desallocator *, void *, void *);
NDD_DLL_API NDT_Status ND_Desallocator_Exec_I( NDT_Desallocator *, void *, void *);
NDD_DLL_API NDT_Status ND_Desallocator_Exec_C( NDT_Desallocator *, void *, void *);

View File

@@ -1,11 +1,18 @@
ifdef _LIBVER_SUPPORT
INCLUDE_VER = ../../libver/ver.h
LIB_VER = -I ../../libver
endif
all: libnode.so
all: libnode.a libnode.so
libnode.o: libnode.c node.h libnode.h ../../libver/ver.h Makefile
gcc -c -g -o libnode.o -I . -I ../../libver libnode.c
libnode.o: libnode.c node.h libnode.h $(INCLUDE_VER) Makefile
gcc -c -g -o libnode.o -I . $(LIB_VER) libnode.c
libnode.a: libnode.o
ar -r libnode.a libnode.o
libnode.so: libnode.o
ld -shared -o libnode.so libnode.o
clean:
rm libnode.o libnode.so
rm -f libnode.o libnode.a libnode.so

View File

@@ -1,18 +1,20 @@
/*---------------------------------------------------------------------------------*/
/* $RCSfile: libnode.c,v $ */
/*---------------------------------------------------------------------------------*/
/* $Revision: 2.0 $ */
/* $Revision: 2.3 $ */
/* $Name: $ */
/* $Date: 2001/11/26 14:23:50 $ */
/* $Date: 2002/02/27 16:08:07 $ */
/* $Author: agibert $ */
/*---------------------------------------------------------------------------------*/
#define _LIBNODE_C_
#include <libnode.h>
#ifdef _LIBVER
VER_INFO_EXPORT (libnode,"$Revision: 2.0 $", "$Name: $",__FILE__,"$Author: agibert $")
VER_INFO_EXPORT (libnode,"$Revision: 2.3 $", "$Name: $",__FILE__,"$Author: agibert $")
#endif
@@ -21,7 +23,6 @@ VER_INFO_EXPORT (libnode,"$Revision: 2.0 $", "$Name: $",__FILE__,"$Author: agib
/*------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------*/
/* Node Manager Template */
@@ -42,7 +43,7 @@ NDT_Status ND_Default_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT
Command_Name = "NDD_CMD_MANAGER_VERSION";
*Version_Name_Ptr = "$Revision: 2.0 $ $Name: $ $Date: 2001/11/26 14:23:50 $ $Author: agibert $";
*Version_Name_Ptr = "$Revision: 2.3 $ $Name: $ $Date: 2002/02/27 16:08:07 $ $Author: agibert $";
return( NDS_OK);
}
@@ -463,7 +464,7 @@ NDT_Status ND_Index_Open_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_In
NDT_Node *node_ptr;
if( ( Root_Ptr->Index_Open_Nb == 0) && ( Index_Id != NDD_INDEX_PRIMARY))
if( ( Root_Ptr->Index_Open_Count == 0) && ( Index_Id != NDD_INDEX_PRIMARY))
{
sprintf( ND_Error_Msg, "Error ND_Index_Open_I: fist opened index should be the primary");
ND_Error_Print();
@@ -483,7 +484,7 @@ NDT_Status ND_Index_Open_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_In
Root_Ptr->Index_Tab[Index_Id].Min_Depth = NDD_HUGE_LONG;
Root_Ptr->Index_Tab[Index_Id].Nb_Equ = 0;
Root_Ptr->Index_Open_Nb++;
Root_Ptr->Index_Open_Count++;
if( Index_Id != NDD_INDEX_PRIMARY)
{
@@ -655,7 +656,7 @@ NDT_Status ND_Index_Close_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id)
NDT_Status status;
if( ( Root_Ptr->Index_Open_Nb != 1) && ( Index_Id == NDD_INDEX_PRIMARY))
if( ( Root_Ptr->Index_Open_Count != 1) && ( Index_Id == NDD_INDEX_PRIMARY))
{
sprintf( ND_Error_Msg, "Error ND_Index_Close_I: the primary should be the last closed");
ND_Error_Print();
@@ -667,7 +668,7 @@ NDT_Status ND_Index_Close_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id)
Root_Ptr->Index_Tab[ Index_Id].Type = Root_Ptr->Index_Tab[ Index_Id].Type & NDD_INDEX_STATUS_RMSK | NDD_INDEX_STATUS_CLOSED;
Root_Ptr->Index_Open_Nb--;
Root_Ptr->Index_Open_Count--;
return(NDS_OK);
}
@@ -826,7 +827,7 @@ NDT_Status ND_DataStruct_Flush_I( NDT_Root *Root_Ptr)
NDT_Index_Id index_id;
for( index_id = Root_Ptr->Index_Nb; index_id >= 0 ; index_id--)
for( index_id = ( Root_Ptr->Index_Nb - 1); index_id >= 0 ; index_id--)
{
status = ND_Index_Flush_I( Root_Ptr, index_id);
if( ND_ERROR( status)) return( status);
@@ -872,45 +873,42 @@ NDT_Status ND_DataStruct_Flush_C( NDT_Root *Root_Ptr)
/* (I) Out : flux de sortie du rapport */
/*------------------------------------------------------------------------------*/
NDT_Status ND_Index_Check_I( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out)
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)
{
*Detected_Nb_Ptr = 0;
*Corrected_Nb_Ptr = 0;
if( ND_INDEX_STATUS_OPENED_IS( Root_Ptr, Index_Id))
{
if( ND_INDEX_TYPE_LIST_IS( Root_Ptr, Index_Id))
{
ND_List_Check( Root_Ptr, Index_Id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out);
ND_List_Check( Root_Ptr, Index_Id, Detected_Nb_Ptr, Corrected_Nb_Ptr, Out);
}
else if( ND_INDEX_TYPE_TREE_IS( Root_Ptr, Index_Id))
{
ND_Tree_Check( Root_Ptr, Index_Id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out);
ND_Tree_Check( Root_Ptr, Index_Id, Detected_Nb_Ptr, Corrected_Nb_Ptr, Out);
}
else
{
sprintf( ND_Error_Msg, "Error ND_DataStruct_Check : unknown structure type (%d) in structure (%p:%d)\n", Root_Ptr->Index_Tab[Index_Id].Type, Root_Ptr, Index_Id);
ND_Error_Print();
(*Nb_Detected_Ptr)++;
return(NDS_ERRAPI);
(*Detected_Nb_Ptr)++;
return( NDS_OK);
}
}
else
{
Nb_Detected_Ptr = 0;
Nb_Corrected_Ptr = 0;
return( NDS_OK);
}
/* Affichage du résultat de la procédure de vérification */
/* Affichage du résultat de la procédure de vérification */
if(*Nb_Detected_Ptr == 0)
{
fprintf( Out, "No error detected in the node structure (%p:%d)\n", Root_Ptr, Index_Id);
if( *Detected_Nb_Ptr == 0)
{
fprintf( Out, "No error detected in the node structure (%p:%d)\n", Root_Ptr, Index_Id);
}
else
{
fprintf( Out, "%d/%d error(s) corrected in the node structure (%p:%d)\n", *Corrected_Nb_Ptr, *Detected_Nb_Ptr, Root_Ptr, Index_Id);
}
}
else
{
fprintf (Out, "%d/%d error(s) corrected in the node structure (%p:%d)\n", *Nb_Corrected_Ptr, *Nb_Detected_Ptr, Root_Ptr, Index_Id);
}
if( *Nb_Corrected_Ptr < *Nb_Detected_Ptr) return( NDS_KO);
return( NDS_OK);
}
@@ -965,19 +963,23 @@ NDT_Status ND_Index_Check_C( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, int
/* (I) Out : flux de sortie du rapport */
/*------------------------------------------------------------------------------*/
NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Nb_Detected_Ptr, int *Nb_Corrected_Ptr, FILE *Out)
NDT_Status ND_DataStruct_Check_I( NDT_Root *Root_Ptr, int *Error_Detected_Nb_Ptr, int *Error_Corrected_Nb_Ptr, FILE *Out)
{
NDT_Status status;
NDT_Index_Id index_id;
int index_error_detected_nb, index_error_corrected_nb;
for( index_id = 0; index_id < Root_Ptr->Index_Nb; index_id++)
{
status = ND_Index_Check_I( Root_Ptr, index_id, Nb_Detected_Ptr, Nb_Corrected_Ptr, Out);
if( ND_ERROR(status)) return(status);
}
status = ND_Index_Check_I( Root_Ptr, index_id, &index_error_detected_nb, &index_error_corrected_nb, Out);
if( ND_ERROR(status)) return(status);
return NDS_OK;
*Error_Detected_Nb_Ptr = *Error_Detected_Nb_Ptr + index_error_detected_nb;
*Error_Corrected_Nb_Ptr = *Error_Corrected_Nb_Ptr + index_error_corrected_nb;
}
return( NDS_OK);
}
@@ -1712,8 +1714,8 @@ 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);
printf( "%sRoot: (%s%p)\tIndex Nb: (%d)\tIndex Opened: (%d)\tManager: (%s%p) [%s]\n%sAllocator: (%s%p) [%s]\tDesallocator: (%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_Nb, NDD_PRINTF_PTR_PREFIX, Root_Ptr->Manager_Ptr, Root_Ptr->Manager_Name,
printf( "%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",
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,
offset, version_name);
}
@@ -3424,9 +3426,9 @@ NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb,
(*Root_Ptr_Ptr)->User = Data_Ptr;
(*Root_Ptr_Ptr)->Index_Nb = Index_Nb;
(*Root_Ptr_Ptr)->Index_Open_Nb = 0;
(*Root_Ptr_Ptr)->Index_Open_Count = 0;
for( index_id = 0; index_id <= Index_Nb; index_id++)
for( index_id = 0; index_id < Index_Nb; index_id++)
{
(*Root_Ptr_Ptr)->Index_Tab[index_id].Type = NDD_INDEX_STATUS_CLOSED;
@@ -3434,8 +3436,6 @@ NDT_Status ND_Node_Root_Alloc( NDT_Root **Root_Ptr_Ptr, NDT_Index_Nb Index_Nb,
{
status = ND_Index_Open_I( *Root_Ptr_Ptr, index_id, Type_Ptr[index_id]);
if( ND_ERROR( status)) return( status);
(*Root_Ptr_Ptr)->Index_Open_Nb++;
}
}

View File

@@ -2,9 +2,9 @@
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=libnode - Win32 Debug
CFG=libnode - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
@@ -13,12 +13,12 @@ CFG=libnode - Win32 Debug
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "libnode.mak" CFG="libnode - Win32 Debug"
!MESSAGE NMAKE /f "libnode.mak" CFG="libnode - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "libnode - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "libnode - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE "libnode - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "libnode - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
@@ -26,6 +26,7 @@ CFG=libnode - Win32 Debug
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "libnode - Win32 Release"
@@ -40,16 +41,26 @@ RSC=rc.exe
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBNODE_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBNODE_EXPORTS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# Begin Custom Build - Creating static library libnode_a.lib...
InputPath=.\Release\libnode.dll
SOURCE="$(InputPath)"
"Release\libnode_a.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
lib /nologo /out:Release\libnode_a.lib Release\*.obj
# End Custom Build
!ELSEIF "$(CFG)" == "libnode - Win32 Debug"
@@ -62,17 +73,30 @@ LIB32=link.exe -lib
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /GZ /c
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBNODE_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c
# SUBTRACT CPP /WX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# SUBTRACT LINK32 /map
# Begin Custom Build - Creating static library libnode_a.lib...
InputPath=.\Debug\libnode.dll
SOURCE="$(InputPath)"
"Debug\libnode_a.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
lib /nologo /out:Debug\libnode_a.lib Debug\*.obj
# End Custom Build
!ENDIF
@@ -87,6 +111,10 @@ LIB32=link.exe -lib
SOURCE=.\libnode.c
# End Source File
# Begin Source File
SOURCE=.\libnode.rc
# End Source File
# End Group
# Begin Group "Header Files"
@@ -100,5 +128,9 @@ SOURCE=.\libnode.h
SOURCE=.\node.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,9 +1,9 @@
/*---------------------------------------------------------------------------------*/
/* $RCSfile: libnode.h,v $ */
/*---------------------------------------------------------------------------------*/
/* $Revision: 2.0 $ */
/* $Revision: 2.1 $ */
/* $Name: $ */
/* $Date: 2001/11/26 10:54:13 $ */
/* $Date: 2002/02/27 16:05:15 $ */
/* $Author: agibert $ */
/*---------------------------------------------------------------------------------*/
@@ -52,8 +52,8 @@ struct Symbol {
NDT_Root * Tmp_Root;
extern char * strdup (const char *);
extern int sigrelse (int sig);
//extern char * strdup (const char *);
//extern int sigrelse (int sig);
int Sig_Trapped;

109
lib/libnode.rc Normal file
View File

@@ -0,0 +1,109 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.K.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,0,0,0
PRODUCTVERSION 0,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904b0"
BEGIN
VALUE "Comments", "Memory list or tree node structures management library\0"
VALUE "CompanyName", "Rx3\0"
VALUE "FileDescription", "Node Library\0"
VALUE "FileVersion", "$Revision: 1.2 $\0"
VALUE "InternalName", "libnode\0"
VALUE "LegalCopyright", "GNU General Public Licence (GPL) - 1993-2002\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "libnode.dll\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "libnode\0"
VALUE "ProductVersion", "$Name: $\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1200
END
END
#endif // !_MAC
#endif // English (U.K.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

15
lib/resource.h Normal file
View File

@@ -0,0 +1,15 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by libnode.rc
//
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@@ -1,8 +1,17 @@
ifdef _LIBVER_SUPPORT
DEP_VER_STATIC = ../../libver/ver.h ../../libver/libver.a
DEP_VER_DYNAMIC = ../../libver/ver.h ../../libver/libver.so
LIB_VER_STATIC = -I ../../libver ../../libver/libver.a
LIB_VER_DYNAMIC = -I ../../libver -L ../../libver -lver
endif
all: ndbench
all: ndbench ndbench-static
ndbench: ndbench.c ../../libver/ver.h ../lib/node.h ../../libver/libver.so ../lib/libnode.so Makefile
gcc -g -o ndbench -I ../../libver -I ../lib -ldl ../../libver/libver.so ../lib/libnode.so ndbench.c
ndbench-static: ndbench.c $(DEP_VER_STATIC) ../lib/node.h ../lib/libnode.a Makefile
gcc -g -o ndbench-static -I ../lib ndbench.c -ldl $(LIB_VER_STATIC) ../lib/libnode.a
ndbench: ndbench.c $(DEP_VER_DYNAMIC) ../lib/node.h ../lib/libnode.so Makefile
gcc -g -o ndbench -ldl $(LIB_VER_DYNAMIC) -I ../lib -L ../lib -lnode ndbench.c
clean:
rm ndbench
rm -f ndbench ndbench-static

View File

@@ -1,9 +1,9 @@
/*---------------------------------------------------------------------------------*/
/* $RCSfile: ndbench.c,v $ */
/*---------------------------------------------------------------------------------*/
/* $Revision: 2.0 $ */
/* $Revision: 2.2 $ */
/* $Name: $ */
/* $Date: 2001/11/26 10:54:41 $ */
/* $Date: 2002/02/27 16:14:22 $ */
/* $Author: agibert $ */
/*---------------------------------------------------------------------------------*/
@@ -44,7 +44,7 @@
/*---------------------------------------------------------------------------------*/
#ifdef _LIBVER
VER_INFO_EXPORT( ndbench, "$Revision: 2.0 $", "$Name: $", __FILE__, "$Author: agibert $")
VER_INFO_EXPORT( ndbench, "$Revision: 2.2 $", "$Name: $", __FILE__, "$Author: agibert $")
#endif
#define ND_MODE 1
@@ -241,7 +241,7 @@ NDT_Status Module_Manager( NDT_Root *Root_Ptr, NDT_Index_Id Index_Id, NDT_Nod
Command_Name = "NDD_CMD_MANAGER_VERSION";
*Version_Name_Ptr = "$Revision: 2.0 $ $Name: $ $Date: 2001/11/26 10:54:41 $ $Author: agibert $";
*Version_Name_Ptr = "$Revision: 2.2 $ $Name: $ $Date: 2002/02/27 16:14:22 $ $Author: agibert $";
return( NDS_OK);
}
@@ -744,7 +744,7 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
Nb_Corrected = Nb_Detected = 0;
t_start( t_exec);
ND_DataStruct_Check( *DS_Ptr_Ptr, &Nb_Detected, &Nb_Corrected, stderr);
ND_DataStruct_Check( *DS_Ptr_Ptr, &Nb_Detected, &Nb_Corrected, File_Output);
t_stop( t_exec);
Command_Exec_End_Print( File_Output, Choice, t_exec, 1);
@@ -791,7 +791,7 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
order = atoi( Arg2);
fprintf( File_Output, "DS_Value_Add: from: (%d) to: (%d) order: (%d)...\n", low, high, order);
fprintf( File_Output, "DS_Value_Add: Adding from: (%d) to: (%d) order: (%d)...\n", low, high, order);
fflush( File_Output);
t_start( t_exec);
@@ -962,7 +962,7 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
if( low != -1)
{
fprintf( File_Output, "Index_List_Open: Open a FIFO List from: (%d) to: (%d)...\n", low, high);
fprintf( File_Output, "Index_List_Open: Opening a FIFO List from: (%d) to: (%d)...\n", low, high);
fflush( File_Output);
t_start( t_exec);
@@ -987,7 +987,7 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
if( low != -1)
{
fprintf( File_Output, "Index_Tree_Open: Open a balanced Tree from: (%d) to: (%d)...\n", low, high);
fprintf( File_Output, "Index_Tree_Open: Opening a balanced Tree from: (%d) to: (%d)...\n", low, high);
fflush( File_Output);
t_start( t_exec);
@@ -1005,6 +1005,31 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
break;
}
case INDEX_CLOSE:
{
Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index");
if( low != -1)
{
fprintf( File_Output, "Index_Close: Closing index from: (%d) to: (%d)...\n", low, high);
fflush( File_Output);
t_start( t_exec);
for( i = high; i >= low; i--)
{
ND_Index_Close( *DS_Ptr_Ptr, (NDT_Index_Id)i);
}
t_stop( t_exec);
Command_Exec_End_Print( File_Output, Choice, t_exec, high - low);
}
break;
}
case INDEX_LIST_SUBTYPE_SET:
{
Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index");
@@ -1214,10 +1239,18 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
case INDEX_INFO_PRINT:
{
fprintf( File_Output, "DS_Info_Print:\n");
fflush( File_Output);
Command_Index_Range_Get( File_Output, &low, &high, Arg1, File_Input, Choice, "Index");
ND_DataStruct_Info_Print( File_Output, *DS_Ptr_Ptr, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0);
if( low != -1)
{
fprintf( File_Output, "DS_Info_Print: Printing index from: (%d) to: (%d)...\n", low, high);
fflush( File_Output);
for( i = low; i <= high; i++)
{
ND_Index_Info_Print( File_Output, *DS_Ptr_Ptr, (NDT_Index_Id)i, NDD_RECURSIVE_MODE_PARENT_CHILD, 99, 0);
}
}
break;
}
@@ -1246,7 +1279,7 @@ void Command_Exec( NDT_Root **DS_Ptr_Ptr, FILE *File_Output, int Choice, cha
fflush( File_Output);
Nb_Corrected = Nb_Detected = 0;
ND_Index_Check( *DS_Ptr_Ptr, (NDT_Index_Id)i, &Nb_Detected, &Nb_Corrected, stderr);
ND_Index_Check( *DS_Ptr_Ptr, (NDT_Index_Id)i, &Nb_Detected, &Nb_Corrected, File_Output);
}
t_stop (t_exec);
@@ -1344,7 +1377,7 @@ int main( int argc, char ** argv)
int Debug = NDD_TRUE;
/* Lancement de commande en mode batch */
/* Args Parsing */
if( argc >= 2)
{
@@ -1357,19 +1390,21 @@ int main( int argc, char ** argv)
{
if( argc >= 3 && !strcmp( argv[2], "-v"))
{
#ifdef _LIBVER
#ifdef _LIBVER_SUPPORT
return( VER_Object_Print( stdout, VERD_VERBOSE));
#endif
}
else
{
#ifdef _LIBVER
#ifdef _LIBVER_SUPPORT
return( VER_Object_Print( stdout, VERD_MINIMAL));
#endif
}
}
else if( !strcmp( argv[1], "--batch_run"))
{
/* Batch Mode */
ND_Library_Open( Debug);
Command_Exec( &ds_ptr, stdout, BATCH_RUN, argv[2], NULL, stdin);
@@ -1385,7 +1420,9 @@ int main( int argc, char ** argv)
}
}
/* Lancement du menu intercatif */
/* Interactive Mode */
ND_Library_Open( Debug);

View File

@@ -48,8 +48,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "ndbench - Win32 Debug"
@@ -64,15 +64,15 @@ LINK32=link.exe
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libnode.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# SUBTRACT LINK32 /pdb:none