00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #include "typedefs.h" 00017 /* 00018 * N. Kurz 10-Jan-1996 00019 * 00020 * within this structure the setup information for one host in the multi-branch 00021 * multi-layer daq system is specified. 00022 * for each host in the system which resides in the hierarchy above a 00023 * branch master (meb) such a set of data must be provided through a 00024 * parsed user input file. 00025 */ 00026 00027 /* after allocating s_set_ml set in f_ut_set_ml_ini */ 00028 /* ps_set_ml->l_endian = 1; */ 00029 /* ps_set_ml->l_version = n; */ 00030 /* ps_set_ml->l_set_ml_lw = sizeof(s_set_ml)/4; */ 00031 /* ps_set_ml->l_fix_lw = ((int)&c_rd_hostname[0][0]-(int)ps_set_ml)/4; */ 00032 /* ps_set_ml->l_ml__n_rd_pipe = ML__N_RD_PIPE; */ 00033 /* ps_set_ml->l_short_len = 16; */ 00034 /* ps_set_ml->l_long_len = 128; */ 00035 typedef struct 00036 { 00037 INTU4 l_endian; /* set to 1 */ 00038 INTU4 l_version; /* increment in f_ut_status_ini after changes */ 00039 INTU4 l_set_ml_lw; /* sizeof(s_set_ml)/4 : total number of lw */ 00040 INTU4 l_fix_lw; /* (&c_rd_hostname-ps_set_ml)/4 : fixed number of longwords to read */ 00041 INTU4 l_ml__n_rd_pipe; /* set to ML__N_RD_PIPE */ 00042 INTU4 l_short_len; /* set to length of short strings (16) */ 00043 INTU4 l_long_len; /* set to length of long strings (128) */ 00044 00045 INTS4 l_n_rd_pipe; 00046 /* number of pipes to read. this variable must not be specified, */ 00047 /* instead it will be filled during loading the multi-layer setup */ 00048 /* for this host */ 00049 00050 INTS4 l_out_mode; 00051 /* 1: write data from all read pipes into next layer pipe */ 00052 /* 2: format events into event buffer streams */ 00053 /* 3: 1 + 2 */ 00054 00055 INTS4 l_ev_buf_len; 00056 /* length of single event buffer. only needed if l_out_mode = 2,3 */ 00057 00058 INTS4 l_n_ev_buf; 00059 /* number of event buffers in a stream. only if l_out_mode = 2,3 */ 00060 00061 INTS4 l_n_stream; 00062 /* number of streams. only needed if l_out_mode = 2,3 */ 00063 00064 INTS4 l_wr_pipe_base_addr; 00065 /* base address of write pipe. only needed if l_out_mode = 1,3 */ 00066 00067 INTS4 l_wr_pipe_len; 00068 /* size of write pipe (in bytes). only needed if l_out_mode = 1,3 */ 00069 00070 INTS4 l_wr_pipe_n_frag; 00071 /* number of fragments to reserve in the write pipe. only needed if */ 00072 /* l_out_mode = 1,3 */ 00073 00074 INTS4 l_rd_host_flg[ML__N_RD_PIPE]; 00075 /* 0: not to read from this host */ 00076 /* 1: pipe must be read from this node, node is branchmaster */ 00077 /* 2: pipe must be read from this node, node is NOT a branchmaster */ 00078 00079 INTS4 l_rd_pipe_base_addr[ML__N_RD_PIPE]; 00080 /* base address of the pipes to read, seen from this host */ 00081 00082 INTS4 l_rd_pipe_len[ML__N_RD_PIPE]; 00083 /* size of the pipes to read. this variable must not be specified, */ 00084 /* instead it will be filled from either a SBS setup file or from */ 00085 /* the write pipe specification (see below) of the coresponding */ 00086 /* host lying below the hierarchy of this host (in bytes) */ 00087 00088 INTS4 l_rd_pipe_n_frag[ML__N_RD_PIPE]; 00089 /* number of fragments to reserve in the read pipes. must also not */ 00090 /* be specified. see comment above for l_rd_pipe_len[] */ 00091 CHARS c_hostname[16]; 00092 /* net name of this host */ 00093 00094 /* ------------------ end of fixed block --------------------------*/ 00095 CHARS c_rd_hostname [ML__N_RD_PIPE][16]; 00096 /* netname of all hosts where this host have to read pipes */ 00097 00098 CHARS c_sbs_setup_path [ML__N_RD_PIPE][128]; 00099 /* paths/filenames of the SBS setup file of the hosts to read from. */ 00100 /* only needed if these hosts are SBS branch masters. in this case */ 00101 /* the read pipes are specified in the SBS setup file. the base */ 00102 /* address of the read pipes must always be specified nevertheless */ 00103 00104 00105 } s_set_ml; 00106 00107 //----------------------------END OF GO4 SOURCE FILE ---------------------