| #ifndef __CMP_H | 
 | #define __CMP_H | 
 |  | 
 | struct cmp_mpr { | 
 | 	u32 nplugs:5; | 
 | 	u32 reserved:3; | 
 | 	u32 persistent_ext:8; | 
 | 	u32 non_persistent_ext:8; | 
 | 	u32 bcast_channel_base:6; | 
 | 	u32 rate:2; | 
 | } __attribute__((packed)); | 
 |  | 
 | struct cmp_pcr { | 
 | 	u32 payload:10; | 
 | 	u32 overhead:4; | 
 | 	u32 speed:2; | 
 | 	u32 channel:6; | 
 | 	u32 reserved:2; | 
 | 	u32 p2p_count:6; | 
 | 	u32 bcast_count:1; | 
 | 	u32 online:1; | 
 | } __attribute__((packed)); | 
 |  | 
 | struct cmp_pcr *cmp_register_opcr(struct hpsb_host *host, int plug, | 
 | 				  int payload, | 
 | 				  void (*update)(struct cmp_pcr *plug, | 
 | 						 void *data), | 
 | 				  void *data); | 
 | void cmp_unregister_opcr(struct hpsb_host *host, struct cmp_pcr *plug); | 
 |  | 
 | #endif /* __CMP_H */ |