Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MALP_Blackboard_Level.h
Go to the documentation of this file.
1 /* ############################ MALP License ############################## */
2 /* # Fri Jan 18 14:00:00 CET 2013 # */
3 /* # Copyright or (C) or Copr. Commissariat a l'Energie Atomique # */
4 /* # # */
5 /* # This software is governed by the CeCILL-C license under French law # */
6 /* # and abiding by the rules of distribution of free software. You can # */
7 /* # use, modify and/ or redistribute the software under the terms of # */
8 /* # the CeCILL-C license as circulated by CEA, CNRS and INRIA at the # */
9 /* # following URL http://www.cecill.info. # */
10 /* # # */
11 /* # The fact that you are presently reading this means that you have # */
12 /* # had knowledge of the CeCILL-C license and that you accept its # */
13 /* # terms. # */
14 /* # # */
15 /* # Authors: # */
16 /* # - BESNARD Jean-Baptiste jean-baptiste.besnard@cea.fr # */
17 /* # # */
18 /* ######################################################################## */
19 #ifndef MALP_BB_L_H
20 #define MALP_BB_L_H
21 
22 #include <stdint.h>
23 #include "MALP_Blackboard.h"
24 #include "CRC64.h"
25 
31 {
32  void *arg;
33  void *lib_handle;
34  int (*BB_level_setup)( struct MALP_blackboard *bb, void *arg );
35  int (*BB_level_teardown)( struct MALP_blackboard *bb, void *arg );
36 };
37 
38 
47 struct MALP_Blackboard_level * MALP_Blackboard_level_load( struct MALP_blackboard *bb , char *plugin_soname, void *arg );
48 
59  int (*BB_level_setup)( struct MALP_blackboard *bb, void *arg ),
60  int (*BB_level_teardown)( struct MALP_blackboard *bb, void *arg ) , void *arg );
61 
70 
79 uint64_t MALP_Blackboard_level_id( char *MALP_Blackboard_level_name, char *object1_name, char *object2_name );
80 
81 
86 #define KS_ID(bl,a) MALP_Blackboard_level_id( (char *)bl, a , "*" )
87 
91 #define DE_ID(bl,t) KS_ID(bl,t)
92 
96 #define DE_ID_S(bl,t,s) MALP_Blackboard_level_id( (char *)bl, t , s )
97 
98 
103 #define KS_LID(a) MALP_Blackboard_level_id( (char *)MALP_Blackboard_level_name, a , "*" )
104 
108 #define DE_LID(t) KS_LID(t)
109 
113 #define DE_LID_S(t,s) MALP_Blackboard_level_id( (char *)MALP_Blackboard_level_name , t , s )
114 
115 
116 #endif /* MALP_BB_L_H */
struct MALP_Blackboard_level * MALP_Blackboard_level(struct MALP_blackboard *bb, int(*BB_level_setup)(struct MALP_blackboard *bb, void *arg), int(*BB_level_teardown)(struct MALP_blackboard *bb, void *arg), void *arg)
Create a MALP_Blackboard_level structure using the parameters with NULL value for the handler's mappi...
The MALP_Blackboard_level structure.
The MALP_blackboard structure.
struct MALP_Blackboard_level * MALP_Blackboard_level_load(struct MALP_blackboard *bb, char *plugin_soname, void *arg)
MALP_Blackboard_level_load [UNUSED?].
int MALP_Blackboard_level_unload(struct MALP_blackboard *bb, struct MALP_Blackboard_level *level)
MALP_Blackboard_level_unload [UNUSED?].
int(* BB_level_teardown)(struct MALP_blackboard *bb, void *arg)
int(* BB_level_setup)(struct MALP_blackboard *bb, void *arg)
uint64_t MALP_Blackboard_level_id(char *MALP_Blackboard_level_name, char *object1_name, char *object2_name)
Generate the hashcode for a 3 dimensions table buffer containing a blackboard level and two object na...