00001 #ifndef RC_MSGDEFS_HH
00002 #define RC_MSGDEFS_HH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "rc.h"
00014
00015 #ifdef DEFINE_ONLINE
00016 typedef int bool;
00017 #endif
00018
00019 #include <sys/types.h>
00020 #include <iccp.h>
00021
00022 #define RCMSGSIZE 120
00023 #define RCDATASIZE RCMSGSIZE-sizeof(ic_msg_head)
00024
00025
00026 enum connect_direction {to_handler, from_handler};
00027
00028 enum mask_types {literal=1, bits_on=2, bits_off=3};
00029
00030
00031
00032
00033
00034
00035 struct rc_daq_connect
00036 {
00037
00038 u_int fd;
00039 u_int addr;
00040 int connection_seq;
00041 int port;
00042 };
00043
00044 struct rc_daq_error
00045 {
00046 int error;
00047 int level;
00048 };
00049 #define PORTS_USED 1
00050
00051
00052
00053 struct rc_cmd_response
00054 {
00055 int cheese;
00056 int cid;
00057 };
00058 struct rc_drc_send_error
00059 {
00060 char text[RCDATASIZE];
00061 };
00062
00063
00064 struct rc_drc_connect
00065 {
00066 int pid;
00067 connect_direction direction;
00068 };
00069 struct rc_cmd_nop { uint dummy; };
00070 struct rc_drc_ping { uint dummy; };
00071 struct rc_drc_stophandler { uint dummy; };
00072 struct rc_drc_clear_handler
00073 {
00074 int state;
00075 };
00076 struct rc_drc_querysystem
00077 {
00078 int system;
00079 int crates;
00080 int threads;
00081 int status;
00082 int is_caller_cheese;
00083 bool client_threads;
00084 bool ping;
00085 };
00086 struct rc_cmd_timeout { uint dummy; };
00087 struct rc_drc_reconfig { uint dummy; };
00088 struct rc_drc_add_component
00089 {
00090 char daqpath[8];
00091 int in_run;
00092 int rb_mask;
00093 mask_types rb_mask_type;
00094 };
00095 struct rc_cmd_reboot { uint all; };
00096 struct rc_drc_run_start
00097 {
00098 int run_number;
00099 int num_triggers;
00100 };
00101 struct rc_drc_run_stop
00102 {
00103 int run_number;
00104 int junk;
00105 };
00106 struct rc_drc_run_pause
00107 {
00108 int run_number;
00109 };
00110 struct rc_drc_run_resume
00111 {
00112 int run_number;
00113 int num_triggers;
00114 };
00115 struct rc_drc_set_config
00116 {
00117 int seq;
00118 };
00119 struct rc_drc_get_config
00120 {
00121 int seq;
00122 };
00123 struct rc_drc_send_config
00124 {
00125 int dummy;
00126 };
00127 struct rc_drc_set_busy
00128 {
00129 int run_number;
00130 };
00131 struct rc_drc_release_busy
00132 {
00133 int run_number;
00134 };
00135 struct rc_drc_flush_tokens
00136 {
00137 int run_number;
00138 int type;
00139 };
00140 struct rc_drc_query_tokens
00141 {
00142 int num_tokens;
00143 };
00144 struct rc_drc_get_systems
00145 {
00146 int seq;
00147 int print;
00148 int all;
00149 };
00150 struct rc_drc_get_threads
00151 {
00152 int seq;
00153 int all;
00154 };
00155 struct rc_drc_get_errors
00156 {
00157 int size;
00158 };
00159 struct rc_drc_clear_errors
00160 {
00161 int dummy;
00162 };
00163 struct rc_drc_update_query
00164 {
00165 int dummy;
00166 };
00167
00168 enum cc_command_value { kill_client };
00169 struct rc_drc_client_control
00170 {
00171 cc_command_value cc_command;
00172 int cid;
00173 };
00174
00175 struct rc_drc_reconnect
00176 {
00177 int addr;
00178 int port;
00179 int system;
00180 };
00181
00182 struct rc_rts_reconnect
00183 {
00184 int addr;
00185 int port;
00186 };
00187
00188
00189 struct rc_cmd_ack { uint dummy; };
00190 struct rc_cmd_ping { uint dummy; };
00191 struct rc_daq_run_start {
00192 uint run_number;
00193 int num_triggers;
00194 };
00195
00196 struct rc_daq_run_stop
00197 {
00198 int run_number;
00199 int num_files;
00200 int num_events;
00201 int junk;
00202 };
00203
00204 struct rc_daq_run_pause { uint run_number; };
00205 struct rc_daq_run_resume
00206 {
00207 uint run_number;
00208 int num_triggers;
00209 };
00210 struct rc_daq_send_config
00211 {
00212 u_int port;
00213 u_int handler_id;
00214 };
00215 struct rc_daq_set_busy { uint run_number; };
00216 struct rc_daq_release_busy { uint run_number; };
00217 struct rc_daq_flush_tokens { uint run_number; };
00218 struct rc_daq_query_tokens
00219 {
00220 uint num_tokens;
00221 uint state;
00222 uint rb[12];
00223 };
00224 struct rc_mz_emul_fiber
00225 {
00226 uint ntriggers;
00227 };
00228
00229 struct rc_drc_monitor_send
00230 {
00231 int gb_tokens_run;
00232 int bb_tokens_run;
00233 int rcc_clock;
00234 char file_name[20];
00235 };
00236
00237 #endif
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247