- Add DS_OpenedDS_List_Manager & DS_DataStruct_IsOpen implementation,

- Continue DS_DataStruct_Open_I implementation.
This commit is contained in:
2024-04-24 20:27:46 +02:00
parent 2967341251
commit 0c06f14b49
4 changed files with 589 additions and 235 deletions

View File

@@ -35,6 +35,11 @@
#include <shmem.h>
/* Code retour des fonctions constituant l'API */
typedef long DST_Status;
@@ -117,28 +122,40 @@ typedef int DST_Flags;
/* Masques pour récupérer des valeurs combinées */
#define DSD_MSK_OPEN(a) (DSD_OPEN & (a))
#define DSD_MSK_CREATE(a) (DSD_CREATE & (a))
#define DSD_MSK_NEW(a) (DSD_NEW & (a))
#define DSD_MSK_READ(a) (DSD_READ & (a))
#define DSD_MSK_WRITE(a) (DSD_WRITE & (a))
#define DSD_MSK_RW(a) ((DSD_READ | DSD_WRITE) & (a))
#define DSD_MSK_OPEN(a) ( DSD_OPEN & (a))
#define DSD_MSK_CREATE(a) ( DSD_CREATE & (a))
#define DSD_MSK_NEW(a) ( DSD_NEW & (a))
#define DSD_MSK_READ(a) ( DSD_READ & (a))
#define DSD_MSK_WRITE(a) ( DSD_WRITE & (a))
#define DSD_MSK_RW(a) ( ( DSD_READ | DSD_WRITE) & (a))
#define DSD_BOOL_VALUE_ASCII_GET( v) ( ( (v) == true) ? "TRUE" : "FALSE")
#define SDD_NAME_LEN ( short)SMD_NAME_SIZE
#define SDD_NAME_SIZE ( SDD_NAME_LEN + 1)
/*
On utilise le pointeur 'User' de la racine de la struture pour y
rattacher des données sur le heap sous-jacent.
*/
typedef struct {
char * Heap_Name;
char * Manager_FileName;
int OpenSemID; /* Indique le nombre de processus ayant ouvert la struture */
int Heap_Owner; /* Indique si la structure est propriétaire du heap sous-jacent */
int Valid; /* Indique si la structure est valide ou non */
typedef struct DST_RootDesc
{
char *Heap_Name;
char *Manager_Name;
int OpenSemId; /* Indique le nombre de processus ayant ouvert la struture */
short Heap_Owner; /* Indique si la structure est propriétaire du heap sous-jacent */
short Valid; /* Indique si la structure est valide ou non */
} DST_RootDesc;
//char DS_Error_Msg [512];
/* Définition des alias de l'API */
#ifndef DS_MODE
@@ -375,15 +392,15 @@ DSD_API DST_Status DS_DataStruct_Close_CL( NDT_Root * Root, DST_Flags Close_Mod
/*----------------------------------------------------------------------------*/
/* Affiche les informations d'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 de l'affichage */
/* (I) Stream: Output stream */
/* (I) Root_Ptr: Data structure pointer */
/*----------------------------------------------------------------------------*/
/*
DSD_API DST_Status DS_DataStruct_Info_Print_I( NDT_Root * Root, FILE * Out);
DSD_API DST_Status DS_DataStruct_Info_Print_L( NDT_Root * Root, FILE * Out);
DSD_API DST_Status DS_DataStruct_Info_Print_CL( NDT_Root * Root, FILE * Out);
DSD_API DST_Status DS_DataStruct_Info_Print_I( FILE *Out, NDT_Root *Root_Ptr);
DSD_API DST_Status DS_DataStruct_Info_Print_L( FILE *Out, NDT_Root *Root_Ptr);
DSD_API DST_Status DS_DataStruct_Info_Print_CL( FILE *Out, NDT_Root *Root_Ptr);