1 #ifndef __CMP_H
2 #define __CMP_H
3 
4 struct cmp_mpr {
5 	u32 nplugs:5;
6 	u32 reserved:3;
7 	u32 persistent_ext:8;
8 	u32 non_persistent_ext:8;
9 	u32 bcast_channel_base:6;
10 	u32 rate:2;
11 } __attribute__((packed));
12 
13 struct cmp_pcr {
14 	u32 payload:10;
15 	u32 overhead:4;
16 	u32 speed:2;
17 	u32 channel:6;
18 	u32 reserved:2;
19 	u32 p2p_count:6;
20 	u32 bcast_count:1;
21 	u32 online:1;
22 } __attribute__((packed));
23 
24 struct cmp_pcr *cmp_register_opcr(struct hpsb_host *host, int plug,
25 				  int payload,
26 				  void (*update)(struct cmp_pcr *plug,
27 						 void *data),
28 				  void *data);
29 void cmp_unregister_opcr(struct hpsb_host *host, struct cmp_pcr *plug);
30 
31 #endif /* __CMP_H */
32