PIPS
message.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _newgen_struct_message_
 

Macros

#define _gen_message_start   114
 
#define _newgen_entity_domain_defined_
 
#define ENTITY_NEWGEN_DOMAIN   (entity_domain)
 
#define entity_NEWGEN_DOMAIN   (entity_domain)
 
#define _newgen_range_domain_defined_
 newgen_entity_domain_defined More...
 
#define RANGE_NEWGEN_DOMAIN   (range_domain)
 
#define range_NEWGEN_DOMAIN   (range_domain)
 
#define _newgen_Pvecteur_domain_defined_
 newgen_range_domain_defined More...
 
#define newgen_Pvecteur(p)   (p) /**old hack compatible */
 
#define PVECTEUR_NEWGEN_EXTERNAL   (_gen_message_start+0)
 
#define PVECTEUR_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)
 
#define Pvecteur_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)
 
#define message_domain   (_gen_message_start+1)
 newgen_Pvecteur_domain_defined More...
 
#define _newgen_message_domain_defined_
 
#define MESSAGE_NEWGEN_DOMAIN   (message_domain)
 
#define message_NEWGEN_DOMAIN   (message_domain)
 
#define MESSAGE(x)   ((message)((x).p))
 newgen_message_domain_defined More...
 
#define message_CAST(x)   MESSAGE(x)
 
#define MESSAGE_CAST(x)   MESSAGE(x)
 
#define MESSAGE_(x)   ((x).e)
 
#define MESSAGE_TYPE   message
 
#define message_TYPE   message
 
#define message_undefined   ((message)gen_chunk_undefined)
 
#define message_undefined_p(x)   ((x)==message_undefined)
 
#define gen_MESSAGE_cons   gen_message_cons
 
#define message_domain_number(x)   ((x)->_type_)
 
#define message_array_(x)   message_array(x) /**old hack compatible */
 
#define message_array(x)   ((x)->_message_array_)
 
#define message_content_(x)   message_content(x) /**old hack compatible */
 
#define message_content(x)   ((x)->_message_content_)
 
#define message_neighbour_(x)   message_neighbour(x) /**old hack compatible */
 
#define message_neighbour(x)   ((x)->_message_neighbour_)
 
#define message_dom_(x)   message_dom(x) /**old hack compatible */
 
#define message_dom(x)   ((x)->_message_dom_)
 
#define message_spec   "\--NEWGEN-START 114\n\import entity from \"ri.newgen\";\n\import range from \"ri.newgen\";\n\external Pvecteur;\n\message = array:entity x content:range* x neighbour:Pvecteur x dom:range*;\n\"
 

Typedefs

typedef struct _newgen_struct_entity_entity
 
typedef struct _newgen_struct_range_range
 
typedef struct _newgen_struct_message_message
 

Functions

message copy_message (message)
 MESSAGE. More...
 
void free_message (message)
 
message check_message (message)
 
bool message_consistent_p (message)
 
bool message_defined_p (message)
 
list gen_message_cons (message, list)
 
void message_assign_contents (message, message)
 
void message_non_recursive_free (message)
 
void write_message (FILE *, message)
 
message read_message (FILE *)
 
message make_message (entity, list, Pvecteur, list)
 

Macro Definition Documentation

◆ _gen_message_start

#define _gen_message_start   114

Definition at line 3 of file message.h.

◆ _newgen_entity_domain_defined_

#define _newgen_entity_domain_defined_

Definition at line 11 of file message.h.

◆ _newgen_message_domain_defined_

#define _newgen_message_domain_defined_

Definition at line 34 of file message.h.

◆ _newgen_Pvecteur_domain_defined_

#define _newgen_Pvecteur_domain_defined_

newgen_range_domain_defined

Definition at line 25 of file message.h.

◆ _newgen_range_domain_defined_

#define _newgen_range_domain_defined_

newgen_entity_domain_defined

Definition at line 18 of file message.h.

◆ ENTITY_NEWGEN_DOMAIN

#define ENTITY_NEWGEN_DOMAIN   (entity_domain)

Definition at line 12 of file message.h.

◆ entity_NEWGEN_DOMAIN

#define entity_NEWGEN_DOMAIN   (entity_domain)

Definition at line 13 of file message.h.

◆ gen_MESSAGE_cons

#define gen_MESSAGE_cons   gen_message_cons

Definition at line 57 of file message.h.

◆ MESSAGE

#define MESSAGE (   x)    ((message)((x).p))

newgen_message_domain_defined

MESSAGE

Definition at line 43 of file message.h.

◆ MESSAGE_

#define MESSAGE_ (   x)    ((x).e)

Definition at line 46 of file message.h.

◆ message_array

#define message_array (   x)    ((x)->_message_array_)

Definition at line 75 of file message.h.

◆ message_array_

#define message_array_ (   x)    message_array(x) /**old hack compatible */

Definition at line 74 of file message.h.

◆ message_CAST

#define message_CAST (   x)    MESSAGE(x)

Definition at line 44 of file message.h.

◆ MESSAGE_CAST

#define MESSAGE_CAST (   x)    MESSAGE(x)

Definition at line 45 of file message.h.

◆ message_content

#define message_content (   x)    ((x)->_message_content_)

Definition at line 77 of file message.h.

◆ message_content_

#define message_content_ (   x)    message_content(x) /**old hack compatible */

Definition at line 76 of file message.h.

◆ message_dom

#define message_dom (   x)    ((x)->_message_dom_)

Definition at line 81 of file message.h.

◆ message_dom_

#define message_dom_ (   x)    message_dom(x) /**old hack compatible */

Definition at line 80 of file message.h.

◆ message_domain

#define message_domain   (_gen_message_start+1)

newgen_Pvecteur_domain_defined

Definition at line 32 of file message.h.

◆ message_domain_number

#define message_domain_number (   x)    ((x)->_type_)

Definition at line 73 of file message.h.

◆ message_neighbour

#define message_neighbour (   x)    ((x)->_message_neighbour_)

Definition at line 79 of file message.h.

◆ message_neighbour_

#define message_neighbour_ (   x)    message_neighbour(x) /**old hack compatible */

Definition at line 78 of file message.h.

◆ MESSAGE_NEWGEN_DOMAIN

#define MESSAGE_NEWGEN_DOMAIN   (message_domain)

Definition at line 35 of file message.h.

◆ message_NEWGEN_DOMAIN

#define message_NEWGEN_DOMAIN   (message_domain)

Definition at line 36 of file message.h.

◆ message_spec

#define message_spec   "\--NEWGEN-START 114\n\import entity from \"ri.newgen\";\n\import range from \"ri.newgen\";\n\external Pvecteur;\n\message = array:entity x content:range* x neighbour:Pvecteur x dom:range*;\n\"

Definition at line 83 of file message.h.

◆ MESSAGE_TYPE

#define MESSAGE_TYPE   message

Definition at line 47 of file message.h.

◆ message_TYPE

#define message_TYPE   message

Definition at line 48 of file message.h.

◆ message_undefined

#define message_undefined   ((message)gen_chunk_undefined)

Definition at line 49 of file message.h.

◆ message_undefined_p

#define message_undefined_p (   x)    ((x)==message_undefined)

Definition at line 50 of file message.h.

◆ newgen_Pvecteur

#define newgen_Pvecteur (   p)    (p) /**old hack compatible */

Definition at line 26 of file message.h.

◆ PVECTEUR_NEWGEN_DOMAIN

#define PVECTEUR_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)

Definition at line 28 of file message.h.

◆ Pvecteur_NEWGEN_DOMAIN

#define Pvecteur_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)

Definition at line 29 of file message.h.

◆ PVECTEUR_NEWGEN_EXTERNAL

#define PVECTEUR_NEWGEN_EXTERNAL   (_gen_message_start+0)

Definition at line 27 of file message.h.

◆ RANGE_NEWGEN_DOMAIN

#define RANGE_NEWGEN_DOMAIN   (range_domain)

Definition at line 19 of file message.h.

◆ range_NEWGEN_DOMAIN

#define range_NEWGEN_DOMAIN   (range_domain)

Definition at line 20 of file message.h.

Typedef Documentation

◆ entity

typedef struct _newgen_struct_entity_* entity

Definition at line 14 of file message.h.

◆ message

Definition at line 37 of file message.h.

◆ range

typedef struct _newgen_struct_range_* range

Definition at line 21 of file message.h.

Function Documentation

◆ check_message()

message check_message ( message  p)

Definition at line 24 of file message.c.

24  {
25  return (message) gen_check((gen_chunk*) p, message_domain);
26 }
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
#define message_domain
newgen_Pvecteur_domain_defined
Definition: message.h:32
A gen_chunk is used to store every object.
Definition: genC.h:58

References gen_check(), and message_domain.

Referenced by message_assign_contents(), and message_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy_message()

message copy_message ( message  p)

MESSAGE.

Definition at line 18 of file message.c.

18  {
19  return (message) gen_copy_tree((gen_chunk*) p);
20 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

+ Here is the call graph for this function:

◆ free_message()

void free_message ( message  p)

Definition at line 21 of file message.c.

21  {
22  gen_free((gen_chunk*) p);
23 }
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992

References gen_free().

+ Here is the call graph for this function:

◆ gen_message_cons()

list gen_message_cons ( message  p,
list  l 
)

Definition at line 34 of file message.c.

34  {
36 }
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900
#define MESSAGE_NEWGEN_DOMAIN
Definition: message.h:35

References gen_typed_cons(), and MESSAGE_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ make_message()

message make_message ( entity  a1,
list  a2,
Pvecteur  a3,
list  a4 
)

Definition at line 54 of file message.c.

54  {
55  return (message) gen_alloc(5*sizeof(gen_chunk), GEN_CHECK_ALLOC, message_domain, a1, a2, a3, a4);
56 }
#define GEN_CHECK_ALLOC
Definition: genC.h:307
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298

References gen_alloc(), GEN_CHECK_ALLOC, and message_domain.

Referenced by generate_message_from_3_lists(), generate_one_message(), and one_receive_message().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ message_assign_contents()

void message_assign_contents ( message  r,
message  v 
)

Definition at line 37 of file message.c.

37  {
38  check_message(r);
39  check_message(v);
40  message_assert("defined references to domain message",
42  memcpy(r, v, sizeof(struct _newgen_struct_message_));
43 }
bool message_defined_p(message p)
Definition: message.c:31
message check_message(message p)
Definition: message.c:24
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_message(), message_assert, and message_defined_p().

+ Here is the call graph for this function:

◆ message_consistent_p()

bool message_consistent_p ( message  p)

Definition at line 27 of file message.c.

27  {
28  check_message(p);
29  return gen_consistent_p((gen_chunk*) p);
30 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_message(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ message_defined_p()

bool message_defined_p ( message  p)

Definition at line 31 of file message.c.

31  {
32  return gen_defined_p((gen_chunk*) p);
33 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by message_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ message_non_recursive_free()

void message_non_recursive_free ( message  p)

Definition at line 44 of file message.c.

44  {
45  // should clear up contents...
46  free(p);
47 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ read_message()

message read_message ( FILE *  f)

Definition at line 51 of file message.c.

51  {
52  return (message) gen_read(f);
53 }
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15

References f(), and gen_read().

+ Here is the call graph for this function:

◆ write_message()

void write_message ( FILE *  f,
message  p 
)

Definition at line 48 of file message.c.

48  {
49  gen_write(f, (gen_chunk*) p);
50 }
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745

References f(), and gen_write().

+ Here is the call graph for this function: