/* Copied from ccc:$INC/message_structs.h, 2002 June 19, JAB */ typedef unsigned long int U32; /* From mk4_typedefs */ /******************************************************************************* * * * EVN-style (EVN doc #42) message to set ROT's * * * * Note 1: does *not* use the J-K (Ball-Dudevoir) messaging system * * Note 2: due to EVN msg alignment, some doubles are on 4 byte boundaries, * * which we work around by using a U32 array of two elements instead * *******************************************************************************/ struct Set_Rot { U32 msg_type; /* action request = 0x10 */ U32 msg_id; /* task_id for this ROT clock */ U32 ref_id; /* --unused-- */ U32 msg_src1; /* --unused-- */ U32 msg_src2; /* --unused-- */ U32 msg_dest1; /* --unused-- */ U32 msg_dest2; /* --unused-- */ /* double time_stamp_sysclks; COT on next systick - sanity check */ U32 time_stamp_sysclks[2]; /* COT on next systick - sanity check */ U32 time_stamp_date; /* --unused-- */ /* double full_rot_sysclks; --unused-- */ U32 full_rot_sysclks[2]; /* --unused-- */ U32 full_rot_date; /* --unused-- */ U32 msg_size; /* length = 0x7C */ U32 action_code; /* SET_ROT = 0x10001 */ U32 queueing_flags; /* set to 0 */ /* double obey_rot; --unused-- */ U32 obey_rot[2]; /* --unused-- */ /* double end_rot; --unused-- */ U32 end_rot[2]; /* --unused-- */ /* double repeat_interval; --unused-- */ U32 repeat_interval[2]; /* --unused-- */ U32 num_ent; /* --unused-- */ U32 offset; /* --unused-- */ U32 su_array; /* task_id => set corresponding ROT */ /* -1 => set COT */ U32 rot[2]; /* actually a double */ /* set ROT to this at next systick; */ U32 rot_year; /* --unused-- */ U32 rot_rate[2]; /* ROT inc. per systick (in sysclks) */ /* actually a double */ U32 dummy; /* --unused-- */ };