Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

s_set_ml.h

Go to the documentation of this file.
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 ---------------------

Generated on Fri Nov 28 12:59:33 2008 for Go4-v3.04-1 by  doxygen 1.4.2