GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
f_evt.h
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#ifndef F_EVT_H
15#define F_EVT_H
16
17#include "typedefs.h"
18
19/* ++++++++++++++++ include UNIX standard headers +++++++++++++++++++++++++ */
20
21#include "s_ve10_1.h"
22#include "s_ves10_1.h"
23#include "s_evhe.h"
24#include "s_bufhe.h"
25
26#define MAX_BUF_LGTH 32768
27#define MIN_BUF_LGTH 512
28#define MAX_BUFS_IN_STREAM 100 /* at a maximum, 100 buffers per stream */
29#define MAX_LONG 99999999 /* maximum long data */
30
43
44typedef struct
45{
48} s_tag;
49
50struct sLmdControl;
51
52
53typedef struct
54{
55 INTS4 l_server_type; /* number specifying input source */
56 INTS4 l_buf_type; /* buffer type number */
57 INTS4 l_buf_subtype; /* buffer subtype number */
58 INTS4 l_channel_no; /* file descripter or server No. */
59 INTS4 l_buf_size; /* buffer size */
63 INTS4 l_bufs_in_stream; /* # of buffers per stream */
65 INTS4 l_io_buf_size; /* I/O buffer size=l_buf_size*l_bufs_in_stream */
67 INTS4 l_evt_buf_size; /* internal buffer size */
70 INTS4 l_timeout; /* -1 (default) no timeout */
71 INTS4 l_events; /* events since open */
72 INTS4 l_buffers; /* buffers since open */
73 INTS4 l_kbytes; /* kbytes since open */
78 CHARS *pc_io_buf; /* pointer to I/O buffer to server */
79 CHARS *pc_evt_buf; /* pointer to internal event buffer */
81 s_bufhe s_bufhe_1; /* keep buffer header of 1st buffer for spanned event */
83 CHARS c_channel[128]; /* channel name */
84 INTS4 l_tagfile_no; /* file descripter or server No. */
90 void (*cb_polling)(void); /* function to call when polling for timeout */
92
113INTS4 f_evt_rev_port(INTS4); /* obsolete */
116
117/* ******************************/
118/* Input selector */
119/* ******************************/
120#define GETEVT__FILE 1
121#define GETEVT__STREAM 2
122#define GETEVT__TRANS 3
123#define GETEVT__EVENT 4
124#define GETEVT__REVSERV 5
125#define GETEVT__RFIO 6
126#define GETEVT__TAGINDEX 10
127#define GETEVT__TAGNUMBER 11
128/* ********************************************************************** */
129/* error messages */
130/* ********************************************************************** */
131#define GETEVT__SUCCESS 0
132#define GETEVT__FAILURE 1
133#define GETEVT__FRAGMENT 2
134#define GETEVT__NOMORE 3
135#define GETEVT__NOFILE 4
136#define GETEVT__NOSERVER 5
137#define GETEVT__RDERR 6
138#define GETEVT__CLOSE_ERR 7
139#define GETEVT__NOCHANNEL 8
140#define GETEVT__TIMEOUT 9
141#define GETEVT__NOTAGFILE 10
142#define GETEVT__NOTAG 11
143#define GETEVT__TAGRDERR 12
144#define GETEVT__TAGWRERR 13
145#define GETEVT__NOLMDFILE 14
146
147#define PUTEVT__SUCCESS 0
148#define PUTEVT__FILE_EXIST 101
149#define PUTEVT__FAILURE 102
150#define PUTEVT__TOOBIG 103
151#define PUTEVT__TOO_SMALLS 104
152#define PUTEVT__CLOSE_ERR 105
153#define PUTEVT__WRERR 106
154#define PUTEVT__NOCHANNEL 107
155
156#endif
157/***************** End f_evt.h ******************************/
INTS4 f_evt_get_open(INTS4, CHARS *, s_evt_channel *, CHARS **, INTS4, INTS4)
Definition f_evt.c:552
INTS4 f_evt_get_buffer(s_evt_channel *, INTS4 *)
Definition f_evt.c:1693
INTS4 f_evt_swap(CHARS *, INTS4)
Definition f_evt.c:1853
INTS4 f_evt_get_tagclose(s_evt_channel *)
Definition f_evt.c:2801
INTS4 f_evt_get_tagopen(s_evt_channel *, CHARS *, CHARS *, CHARS **, INTS4)
Definition f_evt.c:2470
INTS4 f_evt_put_event(s_evt_channel *, INTS4 *)
Definition f_evt.c:1305
s_evt_channel * f_evt_control(void)
Definition f_evt.c:2819
INTS4 f_evt_cre_tagfile(CHARS *, CHARS *, INTS4(*)())
INTS4 f_evt_rev_port(INTS4)
Definition f_evt.c:509
INTS4 f_evt_type(s_bufhe *, s_evhe *, INTS4, INTS4, INTS4, INTS4)
Definition f_evt.c:298
INTS4 f_evt_get_tagevent(s_evt_channel *, INTS4, INTS4, INTS4 **)
Definition f_evt.c:2643
INTS4 f_evt_timeout(s_evt_channel *, INTS4)
Definition f_evt.c:1833
INTS4 f_evt_get_tagnext(s_evt_channel *, INTS4, INTS4 **)
Definition f_evt.c:2594
CHARS * f_evt_get_buffer_ptr(s_evt_channel *)
Definition f_evt.c:1928
INTS4 f_evt_get_close(s_evt_channel *)
Definition f_evt.c:1101
INTS4 f_evt_put_open(CHARS *, INTS4, INTS4, INTS4, INTS4, s_evt_channel *, CHARS *)
Definition f_evt.c:1192
INTS4 f_evt_error(INTS4, CHARS *, INTS4)
Definition f_evt.c:1586
INTS4 f_evt_skip_buffer(s_evt_channel *, INTS4)
Definition f_evt.c:1779
INTS4 f_evt_put_buffer(s_evt_channel *, s_bufhe *)
Definition f_evt.c:1448
INTS4 f_evt_get_event(s_evt_channel *, INTS4 **, INTS4 **)
Definition f_evt.c:909
INTS4 f_evt_source_port(INTS4 l_port)
Definition f_evt.c:486
INTS4 f_evt_get_subevent(s_ve10_1 *, INTS4, INTS4 **, INTS4 **, INTS4 *)
Definition f_evt.c:235
INTS4 f_evt_put_close(s_evt_channel *)
Definition f_evt.c:1493
INTS4 l_buf_posi
Definition f_evt.h:61
INTS4 l_io_buf_posi
Definition f_evt.h:66
sLmdControl * pLmd
Definition f_evt.h:89
INTS4 l_bufs_in_stream
Definition f_evt.h:63
INTS4 l_tagfile_no
Definition f_evt.h:84
INTS4 l_evt_size
Definition f_evt.h:69
CHARS * pc_io_buf
Definition f_evt.h:78
CHARS c_channel[128]
Definition f_evt.h:83
INTS4 l_io_buf_size
Definition f_evt.h:65
CHARS * pc_evt_buf
Definition f_evt.h:79
INTS4 l_buf_type
Definition f_evt.h:56
INTS4 l_frag_len
Definition f_evt.h:77
INTS4 l_channel_no
Definition f_evt.h:58
INTS4 l_first_get
Definition f_evt.h:74
void(* cb_polling)(void)
Definition f_evt.h:90
s_taghe * ps_taghe
Definition f_evt.h:87
INTS4 l_evt_buf_size
Definition f_evt.h:67
INTS4 l_first_buf
Definition f_evt.h:76
INTS4 l_buf_size
Definition f_evt.h:59
INTS4 l_timeout
Definition f_evt.h:70
INTS4 l_buf_lmt
Definition f_evt.h:62
INTS4 l_buf_no
Definition f_evt.h:60
INTS4 l_lmdswap
Definition f_evt.h:86
s_ve10_1 * ps_ve10_1
Definition f_evt.h:82
INTS4 l_tagswap
Definition f_evt.h:85
INTS4 l_first_put
Definition f_evt.h:75
INTS4 l_server_type
Definition f_evt.h:55
s_bufhe s_bufhe_1
Definition f_evt.h:81
INTS4 l_evt_buf_posi
Definition f_evt.h:68
INTS4 l_buffers
Definition f_evt.h:72
s_tag * ps_tag
Definition f_evt.h:88
INTS4 l_kbytes
Definition f_evt.h:73
INTS4 l_buf_subtype
Definition f_evt.h:57
INTS4 l_events
Definition f_evt.h:71
s_bufhe * ps_bufhe
Definition f_evt.h:80
INTS4 l_stream_bufs
Definition f_evt.h:64
Definition f_evt.h:45
INTS4 l_offset
Definition f_evt.h:47
INTS4 l_event
Definition f_evt.h:46
INTS4 l_linear
Definition f_evt.h:41
INTS4 l_version
Definition f_evt.h:34
INTS4 l_first
Definition f_evt.h:39
INTS4 l_buffers
Definition f_evt.h:36
INTS4 l_bufsize
Definition f_evt.h:35
INTS4 l_endian
Definition f_evt.h:33
INTS4 l_last
Definition f_evt.h:40
INTS4 l_events
Definition f_evt.h:37
INTS4 l_filesize
Definition f_evt.h:38
int INTS4
Definition typedefs.h:28
char CHARS
Definition typedefs.h:21