File: imcP.h

package info (click to toggle)
ion 3.2.1%2Bdfsg-1.1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 23,768 kB
  • ctags: 11,049
  • sloc: ansic: 141,798; sh: 22,848; makefile: 7,818; python: 1,638; sql: 311; perl: 197; awk: 178; xml: 50; java: 19
file content (54 lines) | stat: -rw-r--r-- 1,076 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
 	imcP.h:		private definitions supporting the
			implementation of Interplanetary Multicast.

	Author: Scott Burleigh, JPL

	Modification History:
	Date      Who   What

	Copyright (c) 2012, California Institute of Technology.
	ALL RIGHTS RESERVED.  U.S. Government Sponsorship
	acknowledged.
 									*/
#ifndef _IMCP_H_
#define _IMCP_H_

#include "imcfw.h"

#ifdef __cplusplus
extern "C" {
#endif

/*	Administrative record type	*/
#define BP_MULTICAST_PETITION	(5)

typedef struct
{
	uvast		groupNbr;
	int		isMember;	/*	Boolean: local node	*/
	Object		members;	/*	SDR list of NodeIds	*/
	BpTimestamp	timestamp;
} ImcGroup;

typedef struct
{
	uvast		groupNbr;
	int		isMember;	/*	Boolean			*/
} ImcPetition;

extern int		imcJoin(uvast groupNbr);
extern int		imcLeave(uvast groupNbr);

extern void		imcFindGroup(uvast groupNbr, Object *addr,
				Object *eltp);

extern int		imcParsePetition(void **petition, unsigned char *cursor,
				int unparsedBytes);
extern int		imcHandlePetition(void *petition, BpDelivery *dlv);

#ifdef __cplusplus
}
#endif

#endif  /* _IMCFW_H_ */