- Add NDT_Root pointer to NDT_Allocator & NDT_Deallocator functions,

- API Break!
This commit is contained in:
2024-05-03 00:24:51 +02:00
parent e919b5d83c
commit c52ced19c5
4 changed files with 42 additions and 30 deletions

View File

@@ -30,7 +30,7 @@
# define _LIBNODE_H_
# ifdef __cplusplus
extern "C" {
//extern "C" {
# endif
# include <stdlib.h>
@@ -539,8 +539,11 @@ typedef short NDT_Index_Nb;
struct NDT_Root;
struct NDT_Node;
/* Predefinition */
typedef struct NDT_Node NDT_Node;
typedef struct NDT_Index NDT_Index;
typedef struct NDT_Root NDT_Root;
@@ -561,7 +564,7 @@ typedef NDT_Status NDT_Manager( struct NDT_Root *, NDT_Index_Id, struct NDT_Nod
typedef char *NDT_Allocator_Name;
typedef NDT_Status NDT_Allocator( void **, size_t, void *);
typedef NDT_Status NDT_Allocator( void **, NDT_Root *, size_t, void *);
/* Memory deallocator function pointer */
@@ -571,7 +574,7 @@ typedef NDT_Status NDT_Allocator( void **, size_t, void *);
typedef char *NDT_Deallocator_Name;
typedef NDT_Status NDT_Deallocator( void *, void *);
typedef NDT_Status NDT_Deallocator( void *, NDT_Root *, void *);
@@ -596,9 +599,9 @@ typedef struct NDT_Index
typedef struct NDT_Root
{
NDT_Manager *Manager_Ptr; /* Manager function pointer */
char Manager_Name[ NDD_MANAGER_NAME_SIZE_MAX]; /* Manager function name */
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 */
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 */
@@ -1296,13 +1299,15 @@ NDD_DLL_API NDT_Status ND_Manager_Exec_C( NDT_Root *, NDT_Index_Id, NDT_Node
/* Execute an allocator function */
/*----------------------------------------------------------------------------*/
/* (O) Value_Ptr_Ptr: Value pointer address */
/* (I) Root_Ptr: Data structure pointer */
/* (I) Size: Allocation size */
/* (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 *);
NDD_DLL_API NDT_Status ND_Allocator_Exec_I( void **, NDT_Root *, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
NDD_DLL_API NDT_Status ND_Allocator_Exec_C( void **, NDT_Root *, size_t, NDT_Allocator_Name, NDT_Allocator *, void *);
@@ -1310,18 +1315,19 @@ NDD_DLL_API NDT_Status ND_Allocator_Exec_C( void **, size_t, NDT_Allocator_Nam
/* Execute a deallocator function */
/*----------------------------------------------------------------------------*/
/* (I) Value_Ptr: Value pointer */
/* (I) Root_Ptr: Data structure 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_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 *);
NDD_DLL_API NDT_Status ND_Deallocator_Exec_I( void *, NDT_Root *, NDT_Deallocator_Name, NDT_Deallocator *, void *);
NDD_DLL_API NDT_Status ND_Deallocator_Exec_C( void *, NDT_Root *, NDT_Deallocator_Name, NDT_Deallocator *, void *);
# ifdef __cplusplus
}
//}
# endif
#endif