00001 #include "typedefs.h" 00002 /* 00003 * N. Kurz 00004 * daq status structure 00005 * sorted for better byte swap /HE 00006 * 30.05.2000 replaced run_start by histo_port /HE 00007 * 25.10.2005 added spill, event building, and pipe status /HE 00008 * 23.6.2008 DABC support /HE 00009 */ 00010 00011 /* After allocating s_daqst, set by calling f_ut_status_ini */ 00012 /* ps_daqst->l_endian = 1; */ 00013 /* ps_daqst->l_version = n; */ 00014 /* ps_daqst->l_daqst_lw = sizeof(s_daqst)/4; */ 00015 /* ps_daqst->l_fix_lw = ((int)&c_pname[0][0]-(int)ps_daqst)/4; */ 00016 /* ps_daqst->l_sys__n_max_procs = SYS__N_MAX_PROCS; */ 00017 /* ps_daqst->l_sbs__str_len_64 = SBS__STR_LEN_64; */ 00018 /* ps_daqst->l_sbs__n_trg_typ = SBS__N_TRG_TYP; */ 00019 00020 typedef struct 00021 { 00022 INTU4 l_endian; /* set to 1 if sent */ 00023 INTU4 l_version; /* increment in f_ut_status_ini after changes */ 00024 INTU4 l_daqst_lw; /* sizeof(s_daqst)/4 : number of lw */ 00025 INTU4 l_fix_lw; /* (&c_pname-ps_daqst)/4 : fix number of longwords to read */ 00026 INTU4 l_sys__n_max_procs; /* maximum number of processes */ 00027 INTU4 l_sbs__str_len_64; /* String length of process names */ 00028 INTU4 l_sbs__n_trg_typ; /* maximum number of triggers */ 00029 INTU4 bh_daqst_initalized; /* crea_daqst */ 00030 INTU4 bh_acqui_started; /* util(f_ut_op_trig_mod), read_cam_slav, read_meb */ 00031 INTU4 bh_acqui_running; /* collector, read_cam_slav, read_meb */ 00032 INTU4 l_procs_run; /* processes running (index in l_pid) */ 00033 INTU4 bh_setup_loaded; /* util(f_ut_load_setup) */ 00034 INTU4 bh_set_ml_loaded; /* util(f_ut_load_ml_setup) */ 00035 INTU4 bh_set_mo_loaded; /* util(f_ut_load_mo_setup) */ 00036 INTU4 bh_cam_tab_loaded; /* read_cam_slav, read_meb) */ 00037 INTS4 l_free_streams; /* transport */ 00038 INTU4 bl_n_events; /* collector */ 00039 INTU4 bl_n_buffers; /* collector f_col_format */ 00040 INTU4 bl_n_bufstream; /* transport */ 00041 INTU4 bl_n_kbyte; /* transport */ 00042 INTU4 bl_n_evserv_events; /* event_serv f_ev_checkevt */ 00043 INTU4 bl_n_evserv_kbytes; /* event_serv f_ev_send */ 00044 INTU4 bl_n_strserv_bufs; /* stream_serv */ 00045 INTU4 bl_n_strserv_kbytes; /* stream_serv */ 00046 INTU4 bl_n_kbyte_tape; /* transport */ 00047 INTU4 bl_n_kbyte_file; /* transport */ 00048 INTU4 bl_r_events; /* rate */ 00049 INTU4 bl_r_buffers; /* rate */ 00050 INTU4 bl_r_bufstream; /* rate */ 00051 INTU4 bl_r_kbyte; /* rate */ 00052 INTU4 bl_r_kbyte_tape; /* rate (from l_block_count) */ 00053 INTU4 bl_r_evserv_events; /* rate */ 00054 INTU4 bl_r_evserv_kbytes; /* rate */ 00055 INTU4 bl_r_strserv_bufs; /* rate */ 00056 INTU4 bl_r_strserv_kbytes; /* rate */ 00057 INTU4 bl_flush_time; /* stream flush time */ 00058 INTS4 l_pathnum; /* path number of open device */ 00059 INTU4 l_block_length; /* current block length */ 00060 INTU4 l_pos_on_tape; /* current tape position in kB */ 00061 INTU4 l_max_tape_size; /* maximal tape length in kB */ 00062 INTU4 l_file_count; /* file count on volume */ 00063 INTU4 l_file_auto; /* file count on volume */ 00064 INTU4 l_file_cur; /* file count on volume */ 00065 INTU4 l_file_size; /* file size */ 00066 INTU4 l_block_count; /* buffers on file */ 00067 INTU4 l_block_size; /* block size (=buffer) in bytes */ 00068 INTU4 l_record_size; /* record size on bytes */ 00069 INTS4 l_open_vol; /* open mode of volume */ 00070 INTS4 l_open_file; /* open file flag */ 00071 INTS4 l_rate_on; /* for m_daq_rate */ 00072 INTS4 l_rate_sec; /* for m_daq_rate */ 00073 INTU4 bh_trig_master; /* util(f_ut_op_trig_mod) */ 00074 INTU4 bh_histo_enable; /* collector */ 00075 INTU4 bh_histo_ready; /* collector */ 00076 INTU4 bh_ena_evt_copy; /* collector */ 00077 INTU4 bl_n_trig[SBS__N_TRG_TYP]; /* Trigger counter (read_cam_slav or read_meb) */ 00078 INTU4 bl_n_si [SBS__N_TRG_TYP]; /* Invalid subevents (collector) */ 00079 INTU4 bl_n_evt [SBS__N_TRG_TYP]; /* Valid triggers (collector) */ 00080 INTU4 bl_r_trig[SBS__N_TRG_TYP]; /* Rate Trigger counter (read_cam_slav or read_meb) */ 00081 INTU4 bl_r_si [SBS__N_TRG_TYP]; /* Rate Invalid subevents (collector) */ 00082 INTU4 bl_r_evt [SBS__N_TRG_TYP]; /* Rate Valid triggers (collector) */ 00083 INTU4 bh_running[SYS__N_MAX_PROCS];/* run bit for tasks */ 00084 INTU4 l_pid[SYS__N_MAX_PROCS]; /* pid table */ 00085 INTU4 l_type[SYS__N_MAX_PROCS]; /* Type number defined in sys_def.h */ 00086 INTS4 l_pprio[SYS__N_MAX_PROCS]; /* daq processes priority */ 00087 /* f_ut_init_daq_proc, */ 00088 /* f_ut_clear_daqst, */ 00089 /* f_ut_exit_daq_proc, */ 00090 /* f_ut_show_acq, */ 00091 /* dispatch, */ 00092 /* prompt */ 00093 /* tasks */ 00094 INTU4 bh_pact[SYS__N_MAX_PROCS]; /* daq processes, 1 = active, as pprio */ 00095 INTU4 bh_verbose_flg; /* */ 00096 INTU4 bl_histo_port; /* not used */ 00097 INTU4 bl_run_time; /* not used */ 00098 INTS4 l_irq_driv_id; /* 0=irq driver/device not installed */ 00099 INTS4 l_irq_maj_dev_id; /* "=" */ 00100 INTU4 bh_event_serv_ready; /* event_serv, stream_serv */ 00101 INTU4 bl_strsrv_scale; /* stream server */ 00102 INTU4 bl_strsrv_sync; /* stream server */ 00103 INTU4 bl_strsrv_nosync; /* stream server */ 00104 INTU4 bl_strsrv_keep; /* stream server */ 00105 INTU4 bl_strsrv_nokeep; /* stream server */ 00106 INTU4 bl_strsrv_scaled; /* stream server */ 00107 INTU4 bl_evtsrv_scale; /* event server */ 00108 INTU4 bl_evtsrv_events; /* event server */ 00109 INTU4 bl_evtsrv_maxcli; /* event server */ 00110 INTU4 bl_evtsrv_all; /* event server */ 00111 INTU4 bl_esosrv_maxcli; /* esone server */ 00112 INTU4 bl_pipe_slots; /* sub event slots in readout pipe */ 00113 INTU4 bl_pipe_slots_filled; /* sub event slots used */ 00114 INTU4 bl_pipe_size_KB; /* readout pipe size */ 00115 INTU4 bl_pipe_filled_KB; /* readout pipe size occupied */ 00116 INTU4 bl_spill_on; /* Spill on/off */ 00117 INTU4 bl_delayed_eb_ena; /* Delayed event building enabled/disab.*/ 00118 INTU4 bl_event_build_on; /* Event building on/off */ 00119 INTU4 bl_dabc_enabled; /* DABC event builder mode off/on */ 00120 INTU4 bl_trans_ready; /* transport server ready */ 00121 INTU4 bl_trans_connected; /* Client to transport connected */ 00122 INTU4 bl_no_streams; /* Number of streams */ 00123 INTU4 bl_user[16]; /* for user */ 00124 INTU4 bl_filler[190]; /* filler */ 00125 INTU4 bl_no_stream_buf; /* bufs per stream */ 00126 INTU4 bl_rfio_connected; /* RFIO connected */ 00127 CHARS c_user[SBS__STR_LEN_64]; /* username */ 00128 CHARS c_date[SBS__STR_LEN_64]; /* date of last update (m_daq_rate) */ 00129 CHARS c_exprun[SBS__STR_LEN_64]; /* run name */ 00130 CHARS c_exper[SBS__STR_LEN_64]; /* experiment */ 00131 CHARS c_host[SBS__STR_LEN_64]; /* name of host */ 00132 CHARS c_remote[SBS__STR_LEN_64]; /* name of remote control node */ 00133 CHARS c_display[SBS__STR_LEN_64]; /* name of remote display node */ 00134 CHARS c_anal_segm_name[SBS__STR_LEN_64]; /* name of histogram segment in use */ 00135 /* by f_his_anal() in m_collector */ 00136 CHARS c_setup_name[SBS__STR_LEN_64]; /* setup table loaded */ 00137 CHARS c_ml_setup_name[SBS__STR_LEN_64]; /* ml setup table loaded */ 00138 CHARS c_readout_name[SBS__STR_LEN_64]; /* readout table loaded */ 00139 CHARS c_pathstr[SBS__STR_LEN_64]; /* path string */ 00140 CHARS c_devname[SBS__STR_LEN_64]; /* Name of tape device */ 00141 CHARS c_tape_label[SBS__STR_LEN_64]; /* current tape label */ 00142 CHARS c_file_name[256]; /* current file name */ 00143 CHARS c_out_chan[SBS__STR_LEN_64]; /* active ouput media */ 00144 /* ------------------ end of fixed block --------------------------*/ 00145 CHARS c_pname[SYS__N_MAX_PROCS][SBS__STR_LEN_64]; /* as pprio */ 00146 } s_daqst;