This is Unofficial EPICS BASE Doxygen Site
test_event.cpp
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * EPICS BASE is distributed subject to a Software License Agreement found
7 * in file LICENSE that is included with this distribution.
8 \*************************************************************************/
9 /*
10  *
11  * T E S T _ E V E N T . C
12  * Author: Jeffrey O. Hill
13  * simple stub for testing monitors
14  */
15 
16 #include "epicsStdioRedirect.h"
17 
18 #include "cadef.h"
19 
20 extern "C" void epicsStdCall ca_test_event ( struct event_handler_args args )
21 {
22  chtype nativeType = ca_field_type ( args.chid );
23  const char * pNativeTypeName = "<invalid>";
24  if ( VALID_DB_REQ ( nativeType ) ) {
25  pNativeTypeName = dbr_text[nativeType];
26  }
27  else {
28  if ( nativeType == TYPENOTCONN ) {
29  pNativeTypeName = "<disconnected>";
30  }
31  }
32 
33  printf ( "ca_test_event() for channel \"%s\" with native type %s\n",
34  ca_name(args.chid), pNativeTypeName );
35 
36  if ( ! ( CA_M_SUCCESS & args.status ) ) {
37  printf ( "Invalid CA status \"%s\"\n", ca_message ( args.status ) );
38  return;
39  }
40 
41  if ( args.dbr ) {
42  ca_dump_dbr ( args.type, args.count, args.dbr );
43  }
44 }
45 
46 /*
47  * ca_dump_dbr()
48  * dump the specified dbr type to stdout
49  */
50 extern "C" void epicsStdCall ca_dump_dbr (
51  chtype type, unsigned count, const void * pbuffer )
52 {
53  unsigned i;
54  char tsString[50];
55 
56  if ( INVALID_DB_REQ ( type ) ) {
57  printf ( "bad DBR type %ld\n", type );
58  }
59 
60  printf ( "%s\t", dbr_text[type] );
61 
62  switch ( type ) {
63  case DBR_STRING:
64  {
65  dbr_string_t *pString = (dbr_string_t *) pbuffer;
66 
67  for(i=0; i<count && (*pString)[0]!='\0'; i++) {
68  if(count!=1 && (i%5 == 0)) printf("\n");
69  printf("%s ", *pString);
70  pString++;
71  }
72  break;
73  }
74  case DBR_SHORT:
75  {
76  dbr_short_t *pvalue = (dbr_short_t *)pbuffer;
77  for (i = 0; i < count; i++,pvalue++){
78  if(count!=1 && (i%10 == 0)) printf("\n");
79  printf("%d ",* (short *)pvalue);
80  }
81  break;
82  }
83  case DBR_ENUM:
84  {
85  dbr_enum_t *pvalue = (dbr_enum_t *)pbuffer;
86  for (i = 0; i < count; i++,pvalue++){
87  if(count!=1 && (i%10 == 0)) printf("\n");
88  printf("%d ",*pvalue);
89  }
90  break;
91  }
92  case DBR_FLOAT:
93  {
94  dbr_float_t *pvalue = (dbr_float_t *)pbuffer;
95  for (i = 0; i < count; i++,pvalue++){
96  if(count!=1 && (i%10 == 0)) printf("\n");
97  printf("%6.4f ",*(float *)pvalue);
98  }
99  break;
100  }
101  case DBR_CHAR:
102  {
103  dbr_char_t *pvalue = (dbr_char_t *) pbuffer;
104 
105  for (i = 0; i < count; i++,pvalue++){
106  if(count!=1 && (i%10 == 0)) printf("\n");
107  printf("%u ",*pvalue);
108  }
109  break;
110  }
111  case DBR_LONG:
112  {
113  dbr_long_t *pvalue = (dbr_long_t *)pbuffer;
114  for (i = 0; i < count; i++,pvalue++){
115  if(count!=1 && (i%10 == 0)) printf("\n");
116  printf("%d ",*pvalue);
117  }
118  break;
119  }
120  case DBR_DOUBLE:
121  {
122  dbr_double_t *pvalue = (dbr_double_t *)pbuffer;
123  for (i = 0; i < count; i++,pvalue++){
124  if(count!=1 && (i%10 == 0)) printf("\n");
125  printf("%6.4f ",(float)(*pvalue));
126  }
127  break;
128  }
129  case DBR_STS_STRING:
130  case DBR_GR_STRING:
131  case DBR_CTRL_STRING:
132  {
133  struct dbr_sts_string *pvalue
134  = (struct dbr_sts_string *) pbuffer;
135  printf("%2d %2d",pvalue->status,pvalue->severity);
136  printf("\tValue: %s",pvalue->value);
137  break;
138  }
139  case DBR_STS_ENUM:
140  {
141  struct dbr_sts_enum *pvalue
142  = (struct dbr_sts_enum *)pbuffer;
143  dbr_enum_t *pEnum = &pvalue->value;
144  printf("%2d %2d",pvalue->status,pvalue->severity);
145  if(count==1) printf("\tValue: ");
146  for (i = 0; i < count; i++,pEnum++){
147  if(count!=1 && (i%10 == 0)) printf("\n");
148  printf("%u ",*pEnum);
149  }
150  break;
151  }
152  case DBR_STS_SHORT:
153  {
154  struct dbr_sts_short *pvalue
155  = (struct dbr_sts_short *)pbuffer;
156  dbr_short_t *pshort = &pvalue->value;
157  printf("%2d %2d",pvalue->status,pvalue->severity);
158  if(count==1) printf("\tValue: ");
159  for (i = 0; i < count; i++,pshort++){
160  if(count!=1 && (i%10 == 0)) printf("\n");
161  printf("%u ",*pshort);
162  }
163  break;
164  }
165  case DBR_STS_FLOAT:
166  {
167  struct dbr_sts_float *pvalue
168  = (struct dbr_sts_float *)pbuffer;
169  dbr_float_t *pfloat = &pvalue->value;
170  printf("%2d %2d",pvalue->status,pvalue->severity);
171  if(count==1) printf("\tValue: ");
172  for (i = 0; i < count; i++,pfloat++){
173  if(count!=1 && (i%10 == 0)) printf("\n");
174  printf("%6.4f ",*pfloat);
175  }
176  break;
177  }
178  case DBR_STS_CHAR:
179  {
180  struct dbr_sts_char *pvalue
181  = (struct dbr_sts_char *)pbuffer;
182  dbr_char_t *pchar = &pvalue->value;
183 
184  printf("%2d %2d",pvalue->status,pvalue->severity);
185  if(count==1) printf("\tValue: ");
186  for (i = 0; i < count; i++,pchar++){
187  if(count!=1 && (i%10 == 0)) printf("\n");
188  printf("%u ", *pchar);
189  }
190  break;
191  }
192  case DBR_STS_LONG:
193  {
194  struct dbr_sts_long *pvalue
195  = (struct dbr_sts_long *)pbuffer;
196  dbr_long_t *plong = &pvalue->value;
197  printf("%2d %2d",pvalue->status,pvalue->severity);
198  if(count==1) printf("\tValue: ");
199  for (i = 0; i < count; i++,plong++){
200  if(count!=1 && (i%10 == 0)) printf("\n");
201  printf("%d ",*plong);
202  }
203  break;
204  }
205  case DBR_STS_DOUBLE:
206  {
207  struct dbr_sts_double *pvalue
208  = (struct dbr_sts_double *)pbuffer;
209  dbr_double_t *pdouble = &pvalue->value;
210  printf("%2d %2d",pvalue->status,pvalue->severity);
211  if(count==1) printf("\tValue: ");
212  for (i = 0; i < count; i++,pdouble++){
213  if(count!=1 && (i%10 == 0)) printf("\n");
214  printf("%6.4f ",(float)(*pdouble));
215  }
216  break;
217  }
218  case DBR_TIME_STRING:
219  {
220  struct dbr_time_string *pvalue
221  = (struct dbr_time_string *) pbuffer;
222 
223  epicsTimeToStrftime(tsString,sizeof(tsString),
224  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
225  printf("%2d %2d",pvalue->status,pvalue->severity);
226  printf("\tTimeStamp: %s",tsString);
227  printf("\tValue: ");
228  printf("%s",pvalue->value);
229  break;
230  }
231  case DBR_TIME_ENUM:
232  {
233  struct dbr_time_enum *pvalue
234  = (struct dbr_time_enum *)pbuffer;
235  dbr_enum_t *pshort = &pvalue->value;
236 
237  epicsTimeToStrftime(tsString,sizeof(tsString),
238  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
239  printf("%2d %2d",pvalue->status,pvalue->severity);
240  printf("\tTimeStamp: %s",tsString);
241  if(count==1) printf("\tValue: ");
242  for (i = 0; i < count; i++,pshort++){
243  if(count!=1 && (i%10 == 0)) printf("\n");
244  printf("%d ",*pshort);
245  }
246  break;
247  }
248  case DBR_TIME_SHORT:
249  {
250  struct dbr_time_short *pvalue
251  = (struct dbr_time_short *)pbuffer;
252  dbr_short_t *pshort = &pvalue->value;
253  epicsTimeToStrftime(tsString,sizeof(tsString),
254  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
255  printf("%2d %2d",
256  pvalue->status,
257  pvalue->severity);
258  printf("\tTimeStamp: %s",tsString);
259  if(count==1) printf("\tValue: ");
260  for (i = 0; i < count; i++,pshort++){
261  if(count!=1 && (i%10 == 0)) printf("\n");
262  printf("%d ",*pshort);
263  }
264  break;
265  }
266  case DBR_TIME_FLOAT:
267  {
268  struct dbr_time_float *pvalue
269  = (struct dbr_time_float *)pbuffer;
270  dbr_float_t *pfloat = &pvalue->value;
271 
272  epicsTimeToStrftime(tsString,sizeof(tsString),
273  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
274  printf("%2d %2d",pvalue->status,pvalue->severity);
275  printf("\tTimeStamp: %s",tsString);
276  if(count==1) printf("\tValue: ");
277  for (i = 0; i < count; i++,pfloat++){
278  if(count!=1 && (i%10 == 0)) printf("\n");
279  printf("%6.4f ",*pfloat);
280  }
281  break;
282  }
283  case DBR_TIME_CHAR:
284  {
285  struct dbr_time_char *pvalue
286  = (struct dbr_time_char *)pbuffer;
287  dbr_char_t *pchar = &pvalue->value;
288 
289  epicsTimeToStrftime(tsString,sizeof(tsString),
290  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
291  printf("%2d %2d",pvalue->status,pvalue->severity);
292  printf("\tTimeStamp: %s",tsString);
293  if(count==1) printf("\tValue: ");
294  for (i = 0; i < count; i++,pchar++){
295  if(count!=1 && (i%10 == 0)) printf("\n");
296  printf("%d ",(short)(*pchar));
297  }
298  break;
299  }
300  case DBR_TIME_LONG:
301  {
302  struct dbr_time_long *pvalue
303  = (struct dbr_time_long *)pbuffer;
304  dbr_long_t *plong = &pvalue->value;
305 
306  epicsTimeToStrftime(tsString,sizeof(tsString),
307  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
308  printf("%2d %2d",pvalue->status,pvalue->severity);
309  printf("\tTimeStamp: %s",tsString);
310  if(count==1) printf("\tValue: ");
311  for (i = 0; i < count; i++,plong++){
312  if(count!=1 && (i%10 == 0)) printf("\n");
313  printf("%d ",*plong);
314  }
315  break;
316  }
317  case DBR_TIME_DOUBLE:
318  {
319  struct dbr_time_double *pvalue
320  = (struct dbr_time_double *)pbuffer;
321  dbr_double_t *pdouble = &pvalue->value;
322 
323  epicsTimeToStrftime(tsString,sizeof(tsString),
324  "%Y/%m/%d %H:%M:%S.%06f",&pvalue->stamp);
325  printf("%2d %2d",pvalue->status,pvalue->severity);
326  printf("\tTimeStamp: %s",tsString);
327  if(count==1) printf("\tValue: ");
328  for (i = 0; i < count; i++,pdouble++){
329  if(count!=1 && (i%10 == 0)) printf("\n");
330  printf("%6.4f ",(float)(*pdouble));
331  }
332  break;
333  }
334  case DBR_GR_SHORT:
335  {
336  struct dbr_gr_short *pvalue
337  = (struct dbr_gr_short *)pbuffer;
338  dbr_short_t *pshort = &pvalue->value;
339  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
340  pvalue->units);
341  printf("\n\t%8d %8d %8d %8d %8d %8d",
342  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
343  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
344  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
345  if(count==1) printf("\tValue: ");
346  for (i = 0; i < count; i++,pshort++){
347  if(count!=1 && (i%10 == 0)) printf("\n");
348  printf("%d ",*pshort);
349  }
350  break;
351  }
352  case DBR_GR_FLOAT:
353  {
354  struct dbr_gr_float *pvalue
355  = (struct dbr_gr_float *)pbuffer;
356  dbr_float_t *pfloat = &pvalue->value;
357  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
358  pvalue->units);
359  printf(" %3d\n\t%8.3f %8.3f %8.3f %8.3f %8.3f %8.3f",
360  pvalue->precision,
361  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
362  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
363  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
364  if(count==1) printf("\tValue: ");
365  for (i = 0; i < count; i++,pfloat++){
366  if(count!=1 && (i%10 == 0)) printf("\n");
367  printf("%6.4f ",*pfloat);
368  }
369  break;
370  }
371  case DBR_GR_ENUM:
372  {
373  struct dbr_gr_enum *pvalue
374  = (struct dbr_gr_enum *)pbuffer;
375  printf("%2d %2d",pvalue->status,
376  pvalue->severity);
377  printf("\tValue: %d",pvalue->value);
378  if(pvalue->no_str>0) {
379  printf("\n\t%3d",pvalue->no_str);
380  for (i = 0; i < (unsigned) pvalue->no_str; i++)
381  printf("\n\t%.26s",pvalue->strs[i]);
382  }
383  break;
384  }
385  case DBR_CTRL_ENUM:
386  {
387  struct dbr_ctrl_enum *pvalue
388  = (struct dbr_ctrl_enum *)pbuffer;
389  printf("%2d %2d",pvalue->status,
390  pvalue->severity);
391  printf("\tValue: %d",pvalue->value);
392  if(pvalue->no_str>0) {
393  printf("\n\t%3d",pvalue->no_str);
394  for (i = 0; i < (unsigned) pvalue->no_str; i++)
395  printf("\n\t%.26s",pvalue->strs[i]);
396  }
397  break;
398  }
399  case DBR_GR_CHAR:
400  {
401  struct dbr_gr_char *pvalue
402  = (struct dbr_gr_char *)pbuffer;
403  dbr_char_t *pchar = &pvalue->value;
404  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
405  pvalue->units);
406  printf("\n\t%8d %8d %8d %8d %8d %8d",
407  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
408  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
409  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
410  if(count==1) printf("\tValue: ");
411  for (i = 0; i < count; i++,pchar++){
412  if(count!=1 && (i%10 == 0)) printf("\n");
413  printf("%u ",*pchar);
414  }
415  break;
416  }
417  case DBR_GR_LONG:
418  {
419  struct dbr_gr_long *pvalue
420  = (struct dbr_gr_long *)pbuffer;
421  dbr_long_t *plong = &pvalue->value;
422  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
423  pvalue->units);
424  printf("\n\t%8d %8d %8d %8d %8d %8d",
425  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
426  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
427  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
428  if(count==1) printf("\tValue: ");
429  for (i = 0; i < count; i++,plong++){
430  if(count!=1 && (i%10 == 0)) printf("\n");
431  printf("%d ",*plong);
432  }
433  break;
434  }
435  case DBR_GR_DOUBLE:
436  {
437  struct dbr_gr_double *pvalue
438  = (struct dbr_gr_double *)pbuffer;
439  dbr_double_t *pdouble = &pvalue->value;
440  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
441  pvalue->units);
442  printf(" %3d\n\t%8.3f %8.3f %8.3f %8.3f %8.3f %8.3f",
443  pvalue->precision,
444  (float)(pvalue->upper_disp_limit),
445  (float)(pvalue->lower_disp_limit),
446  (float)(pvalue->upper_alarm_limit),
447  (float)(pvalue->upper_warning_limit),
448  (float)(pvalue->lower_warning_limit),
449  (float)(pvalue->lower_alarm_limit));
450  if(count==1) printf("\tValue: ");
451  for (i = 0; i < count; i++,pdouble++){
452  if(count!=1 && (i%10 == 0)) printf("\n");
453  printf("%6.4f ",(float)(*pdouble));
454  }
455  break;
456  }
457  case DBR_CTRL_SHORT:
458  {
459  struct dbr_ctrl_short *pvalue
460  = (struct dbr_ctrl_short *)pbuffer;
461  dbr_short_t *pshort = &pvalue->value;
462  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
463  pvalue->units);
464  printf("\n\t%8d %8d %8d %8d %8d %8d",
465  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
466  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
467  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
468  printf(" %8d %8d",
469  pvalue->upper_ctrl_limit,pvalue->lower_ctrl_limit);
470  if(count==1) printf("\tValue: ");
471  for (i = 0; i < count; i++,pshort++){
472  if(count!=1 && (i%10 == 0)) printf("\n");
473  printf("%d ",*pshort);
474  }
475  break;
476  }
477  case DBR_CTRL_FLOAT:
478  {
479  struct dbr_ctrl_float *pvalue
480  = (struct dbr_ctrl_float *)pbuffer;
481  dbr_float_t *pfloat = &pvalue->value;
482  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
483  pvalue->units);
484  printf(" %3d\n\t%8.3f %8.3f %8.3f %8.3f %8.3f %8.3f",
485  pvalue->precision,
486  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
487  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
488  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
489  printf(" %8.3f %8.3f",
490  pvalue->upper_ctrl_limit,pvalue->lower_ctrl_limit);
491  if(count==1) printf("\tValue: ");
492  for (i = 0; i < count; i++,pfloat++){
493  if(count!=1 && (i%10 == 0)) printf("\n");
494  printf("%6.4f ",*pfloat);
495  }
496  break;
497  }
498  case DBR_CTRL_CHAR:
499  {
500  struct dbr_ctrl_char *pvalue
501  = (struct dbr_ctrl_char *)pbuffer;
502  dbr_char_t *pchar = &pvalue->value;
503  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
504  pvalue->units);
505  printf("\n\t%8d %8d %8d %8d %8d %8d",
506  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
507  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
508  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
509  printf(" %8d %8d",
510  pvalue->upper_ctrl_limit,pvalue->lower_ctrl_limit);
511  if(count==1) printf("\tValue: ");
512  for (i = 0; i < count; i++,pchar++){
513  if(count!=1 && (i%10 == 0)) printf("\n");
514  printf("%4d ",(short)(*pchar));
515  }
516  break;
517  }
518  case DBR_CTRL_LONG:
519  {
520  struct dbr_ctrl_long *pvalue
521  = (struct dbr_ctrl_long *)pbuffer;
522  dbr_long_t *plong = &pvalue->value;
523  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
524  pvalue->units);
525  printf("\n\t%8d %8d %8d %8d %8d %8d",
526  pvalue->upper_disp_limit,pvalue->lower_disp_limit,
527  pvalue->upper_alarm_limit,pvalue->upper_warning_limit,
528  pvalue->lower_warning_limit,pvalue->lower_alarm_limit);
529  printf(" %8d %8d",
530  pvalue->upper_ctrl_limit,pvalue->lower_ctrl_limit);
531  if(count==1) printf("\tValue: ");
532  for (i = 0; i < count; i++,plong++){
533  if(count!=1 && (i%10 == 0)) printf("\n");
534  printf("%d ",*plong);
535  }
536  break;
537  }
538  case DBR_CTRL_DOUBLE:
539  {
540  struct dbr_ctrl_double *pvalue
541  = (struct dbr_ctrl_double *)pbuffer;
542  dbr_double_t *pdouble = &pvalue->value;
543  printf("%2d %2d %.8s",pvalue->status,pvalue->severity,
544  pvalue->units);
545  printf(" %3d\n\t%8.3f %8.3f %8.3f %8.3f %8.3f %8.3f",
546  pvalue->precision,
547  (float)(pvalue->upper_disp_limit),
548  (float)(pvalue->lower_disp_limit),
549  (float)(pvalue->upper_alarm_limit),
550  (float)(pvalue->upper_warning_limit),
551  (float)(pvalue->lower_warning_limit),
552  (float)(pvalue->lower_alarm_limit));
553  printf(" %8.3f %8.3f",
554  (float)(pvalue->upper_ctrl_limit),
555  (float)(pvalue->lower_ctrl_limit));
556  if(count==1) printf("\tValue: ");
557  for (i = 0; i < count; i++,pdouble++){
558  if(count!=1 && (i%10 == 0)) printf("\n");
559  printf("%6.6f ",(float)(*pdouble));
560  }
561  break;
562  }
563  case DBR_STSACK_STRING:
564  {
565  struct dbr_stsack_string *pvalue
566  = (struct dbr_stsack_string *)pbuffer;
567  printf("%2d %2d",pvalue->status,pvalue->severity);
568  printf(" %2d %2d",pvalue->ackt,pvalue->acks);
569  printf(" %s",pvalue->value);
570  break;
571  }
572  case DBR_CLASS_NAME:
573  {
574  dbr_class_name_t * pvalue =
575  ( dbr_class_name_t * ) pbuffer;
576  printf ( "%s", *pvalue );
577  break;
578  }
579  default:
580  printf (
581  "unsupported by ca_dbrDump()" );
582  break;
583  }
584  printf("\n");
585 }
586 
dbr_char_t upper_ctrl_limit
Definition: db_access.h:478
#define CA_M_SUCCESS
Definition: caerr.h:41
dbr_short_t severity
Definition: db_access.h:352
#define DBR_CHAR
Definition: db_access.h:74
dbr_double_t upper_disp_limit
Definition: db_access.h:507
dbr_short_t upper_warning_limit
Definition: db_access.h:431
dbr_short_t severity
Definition: db_access.h:205
dbr_short_t severity
Definition: db_access.h:288
#define DBR_STRING
Definition: db_access.h:69
#define DBR_GR_LONG
Definition: db_access.h:99
dbr_short_t lower_warning_limit
Definition: db_access.h:432
const char * dbr_text[LAST_BUFFER_TYPE+1]
Definition: access.cpp:1050
dbr_short_t severity
Definition: db_access.h:178
dbr_double_t value
Definition: db_access.h:299
dbr_char_t upper_alarm_limit
Definition: db_access.h:366
dbr_float_t upper_warning_limit
Definition: db_access.h:343
dbr_short_t severity
Definition: db_access.h:252
dbr_long_t upper_ctrl_limit
Definition: db_access.h:495
dbr_short_t status
Definition: db_access.h:226
dbr_short_t status
Definition: db_access.h:361
dbr_long_t upper_disp_limit
Definition: db_access.h:379
dbr_short_t status
Definition: db_access.h:218
char units[MAX_UNITS_SIZE]
Definition: db_access.h:323
dbr_short_t value
Definition: db_access.h:255
const void * dbr
Definition: cadef.h:89
dbr_long_t value
Definition: db_access.h:497
dbr_double_t upper_alarm_limit
Definition: db_access.h:397
dbr_float_t upper_alarm_limit
Definition: db_access.h:342
dbr_short_t severity
Definition: db_access.h:219
dbr_short_t status
Definition: db_access.h:177
dbr_long_t upper_alarm_limit
Definition: db_access.h:491
dbr_char_t lower_ctrl_limit
Definition: db_access.h:479
dbr_short_t status
Definition: db_access.h:268
dbr_short_t severity
Definition: db_access.h:322
dbr_short_t lower_disp_limit
Definition: db_access.h:429
dbr_short_t status
Definition: db_access.h:204
int i
Definition: scan.c:967
char units[MAX_UNITS_SIZE]
Definition: db_access.h:506
dbr_short_t severity
Definition: db_access.h:391
dbr_short_t severity
Definition: db_access.h:198
#define DBR_GR_ENUM
Definition: db_access.h:97
dbr_float_t lower_ctrl_limit
Definition: db_access.h:453
dbr_short_t status
Definition: db_access.h:486
dbr_long_t lower_ctrl_limit
Definition: db_access.h:496
dbr_double_t value
Definition: db_access.h:236
epicsFloat32 dbr_float_t
Definition: db_access.h:46
#define DBR_CTRL_ENUM
Definition: db_access.h:105
dbr_enum_t value
Definition: db_access.h:213
dbr_short_t status
Definition: db_access.h:459
epicsTimeStamp stamp
Definition: db_access.h:297
#define DBR_STS_FLOAT
Definition: db_access.h:80
#define DBR_FLOAT
Definition: db_access.h:72
#define printf
Definition: epicsStdio.h:41
dbr_short_t lower_alarm_limit
Definition: db_access.h:433
pvd::StructureConstPtr type
dbr_char_t upper_warning_limit
Definition: db_access.h:475
char units[MAX_UNITS_SIZE]
Definition: db_access.h:394
dbr_short_t value
Definition: db_access.h:436
dbr_short_t status
Definition: db_access.h:335
#define INVALID_DB_REQ(x)
Definition: db_access.h:115
dbr_long_t lower_disp_limit
Definition: db_access.h:490
dbr_char_t lower_warning_limit
Definition: db_access.h:476
dbr_short_t status
Definition: db_access.h:233
dbr_float_t upper_warning_limit
Definition: db_access.h:449
dbr_char_t lower_warning_limit
Definition: db_access.h:368
dbr_long_t lower_warning_limit
Definition: db_access.h:383
dbr_char_t lower_alarm_limit
Definition: db_access.h:369
dbr_short_t status
Definition: db_access.h:197
dbr_short_t lower_warning_limit
Definition: db_access.h:328
dbr_double_t upper_disp_limit
Definition: db_access.h:395
dbr_short_t status
Definition: db_access.h:321
#define DBR_STS_CHAR
Definition: db_access.h:82
#define DBR_STS_STRING
Definition: db_access.h:77
dbr_short_t value
Definition: db_access.h:199
dbr_double_t lower_disp_limit
Definition: db_access.h:396
dbr_long_t lower_warning_limit
Definition: db_access.h:493
dbr_short_t precision
Definition: db_access.h:392
dbr_float_t upper_ctrl_limit
Definition: db_access.h:452
LIBCA_API short epicsStdCall ca_field_type(chid chan)
dbr_char_t upper_disp_limit
Definition: db_access.h:472
dbr_long_t upper_warning_limit
Definition: db_access.h:492
dbr_string_t value
Definition: db_access.h:246
dbr_float_t value
Definition: db_access.h:454
dbr_float_t upper_disp_limit
Definition: db_access.h:340
dbr_short_t status
Definition: db_access.h:287
dbr_short_t severity
Definition: db_access.h:234
dbr_char_t lower_alarm_limit
Definition: db_access.h:477
#define DBR_CTRL_FLOAT
Definition: db_access.h:104
dbr_long_t upper_disp_limit
Definition: db_access.h:489
dbr_short_t severity
Definition: db_access.h:426
dbr_float_t value
Definition: db_access.h:206
dbr_short_t lower_ctrl_limit
Definition: db_access.h:435
#define DBR_STS_SHORT
Definition: db_access.h:78
dbr_ushort_t acks
Definition: db_access.h:187
#define DBR_STSACK_STRING
Definition: db_access.h:111
dbr_short_t severity
Definition: db_access.h:503
char strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE]
Definition: db_access.h:462
char units[MAX_UNITS_SIZE]
Definition: db_access.h:378
dbr_short_t upper_warning_limit
Definition: db_access.h:327
dbr_short_t severity
Definition: db_access.h:362
#define DBR_CTRL_STRING
Definition: db_access.h:101
dbr_char_t upper_warning_limit
Definition: db_access.h:367
dbr_short_t severity
Definition: db_access.h:442
dbr_ushort_t ackt
Definition: db_access.h:186
dbr_char_t value
Definition: db_access.h:371
dbr_short_t severity
Definition: db_access.h:227
dbr_float_t value
Definition: db_access.h:346
dbr_short_t severity
Definition: db_access.h:261
dbr_double_t upper_alarm_limit
Definition: db_access.h:509
dbr_double_t upper_ctrl_limit
Definition: db_access.h:513
dbr_double_t upper_warning_limit
Definition: db_access.h:398
LIBCOM_API size_t epicsStdCall epicsTimeToStrftime(char *pBuff, size_t bufLength, const char *pFormat, const epicsTimeStamp *pTS)
Convert epicsTimeStamp to string. See epicsTime::strftime()
Definition: epicsTime.cpp:1120
dbr_short_t upper_alarm_limit
Definition: db_access.h:326
dbr_char_t upper_disp_limit
Definition: db_access.h:364
dbr_short_t status
Definition: db_access.h:351
dbr_enum_t value
Definition: db_access.h:356
dbr_short_t lower_alarm_limit
Definition: db_access.h:329
dbr_short_t upper_ctrl_limit
Definition: db_access.h:434
dbr_char_t value
Definition: db_access.h:481
dbr_long_t lower_alarm_limit
Definition: db_access.h:494
#define DBR_CTRL_SHORT
Definition: db_access.h:102
dbr_short_t severity
Definition: db_access.h:296
dbr_double_t value
Definition: db_access.h:401
dbr_short_t upper_disp_limit
Definition: db_access.h:428
dbr_enum_t value
Definition: db_access.h:272
dbr_short_t lower_disp_limit
Definition: db_access.h:325
dbr_short_t severity
Definition: db_access.h:269
char units[MAX_UNITS_SIZE]
Definition: db_access.h:471
dbr_short_t status
Definition: db_access.h:243
dbr_short_t severity
Definition: db_access.h:278
void epicsStdCall ca_dump_dbr(chtype type, unsigned count, const void *pbuffer)
Definition: test_event.cpp:50
#define DBR_TIME_STRING
Definition: db_access.h:85
#define DBR_TIME_ENUM
Definition: db_access.h:89
epicsOldString dbr_class_name_t
Definition: db_access.h:51
#define DBR_DOUBLE
Definition: db_access.h:76
#define VALID_DB_REQ(x)
Definition: db_access.h:114
#define DBR_GR_DOUBLE
Definition: db_access.h:100
dbr_short_t severity
Definition: db_access.h:470
dbr_short_t status
Definition: db_access.h:502
#define DBR_TIME_LONG
Definition: db_access.h:91
#define DBR_CTRL_CHAR
Definition: db_access.h:106
dbr_char_t value
Definition: db_access.h:282
#define DBR_SHORT
Definition: db_access.h:71
epicsFloat64 dbr_double_t
Definition: db_access.h:47
dbr_double_t lower_alarm_limit
Definition: db_access.h:400
LIBCA_API const char *epicsStdCall ca_name(chid chan)
dbr_double_t lower_ctrl_limit
Definition: db_access.h:514
dbr_short_t status
Definition: db_access.h:441
dbr_double_t lower_warning_limit
Definition: db_access.h:511
dbr_float_t value
Definition: db_access.h:263
epicsTimeStamp stamp
Definition: db_access.h:245
#define DBR_GR_SHORT
Definition: db_access.h:94
epicsTimeStamp stamp
Definition: db_access.h:262
epicsOldString dbr_string_t
Definition: db_access.h:38
dbr_double_t lower_alarm_limit
Definition: db_access.h:512
dbr_short_t no_str
Definition: db_access.h:353
dbr_short_t no_str
Definition: db_access.h:461
epicsUInt8 dbr_char_t
Definition: db_access.h:39
dbr_short_t value
Definition: db_access.h:330
#define DBR_STS_DOUBLE
Definition: db_access.h:84
dbr_char_t lower_disp_limit
Definition: db_access.h:365
dbr_short_t status
Definition: db_access.h:469
dbr_short_t precision
Definition: db_access.h:504
#define DBR_TIME_SHORT
Definition: db_access.h:87
char * pbuffer
Definition: errlog.c:85
dbr_short_t precision
Definition: db_access.h:443
#define DBR_ENUM
Definition: db_access.h:73
epicsUInt16 dbr_enum_t
Definition: db_access.h:43
dbr_double_t upper_warning_limit
Definition: db_access.h:510
const char *epicsStdCall ca_message(long ca_status)
Definition: access.cpp:561
char units[MAX_UNITS_SIZE]
Definition: db_access.h:445
chanId chid
Definition: cadef.h:86
dbr_short_t status
Definition: db_access.h:277
#define DBR_GR_CHAR
Definition: db_access.h:98
dbr_float_t upper_disp_limit
Definition: db_access.h:446
#define DBR_CTRL_LONG
Definition: db_access.h:107
dbr_double_t lower_warning_limit
Definition: db_access.h:399
dbr_char_t lower_disp_limit
Definition: db_access.h:473
#define DBR_GR_FLOAT
Definition: db_access.h:96
#define DBR_STS_ENUM
Definition: db_access.h:81
dbr_char_t value
Definition: db_access.h:221
long chtype
Definition: cadef.h:47
#define DBR_CLASS_NAME
Definition: db_access.h:112
dbr_short_t severity
Definition: db_access.h:377
dbr_short_t status
Definition: db_access.h:251
dbr_float_t upper_alarm_limit
Definition: db_access.h:448
dbr_short_t upper_alarm_limit
Definition: db_access.h:430
#define TYPENOTCONN
Definition: cadef.h:149
#define DBR_LONG
Definition: db_access.h:75
dbr_long_t value
Definition: db_access.h:228
epicsTimeStamp stamp
Definition: db_access.h:289
#define DBR_STS_LONG
Definition: db_access.h:83
dbr_long_t value
Definition: db_access.h:290
#define DBR_TIME_CHAR
Definition: db_access.h:90
dbr_double_t lower_disp_limit
Definition: db_access.h:508
dbr_short_t precision
Definition: db_access.h:337
dbr_float_t lower_warning_limit
Definition: db_access.h:450
dbr_float_t lower_disp_limit
Definition: db_access.h:447
dbr_short_t status
Definition: db_access.h:260
dbr_long_t upper_warning_limit
Definition: db_access.h:382
dbr_char_t upper_alarm_limit
Definition: db_access.h:474
#define DBR_TIME_DOUBLE
Definition: db_access.h:92
dbr_enum_t value
Definition: db_access.h:464
dbr_short_t status
Definition: db_access.h:211
dbr_double_t value
Definition: db_access.h:515
dbr_ushort_t status
Definition: db_access.h:184
epicsTimeStamp stamp
Definition: db_access.h:253
dbr_long_t value
Definition: db_access.h:385
epicsTimeStamp stamp
Definition: db_access.h:270
epicsInt16 dbr_short_t
Definition: db_access.h:40
dbr_float_t lower_warning_limit
Definition: db_access.h:344
epicsInt32 dbr_long_t
Definition: db_access.h:44
dbr_string_t value
Definition: db_access.h:188
dbr_ushort_t severity
Definition: db_access.h:185
dbr_long_t upper_alarm_limit
Definition: db_access.h:381
dbr_float_t lower_disp_limit
Definition: db_access.h:341
#define DBR_CTRL_DOUBLE
Definition: db_access.h:108
dbr_short_t status
Definition: db_access.h:425
epicsTimeStamp stamp
Definition: db_access.h:279
char units[MAX_UNITS_SIZE]
Definition: db_access.h:363
dbr_float_t lower_alarm_limit
Definition: db_access.h:451
dbr_string_t value
Definition: db_access.h:179
dbr_short_t severity
Definition: db_access.h:460
void epicsStdCall ca_test_event(struct event_handler_args args)
Definition: test_event.cpp:20
dbr_short_t severity
Definition: db_access.h:487
dbr_long_t lower_disp_limit
Definition: db_access.h:380
char units[MAX_UNITS_SIZE]
Definition: db_access.h:488
dbr_short_t severity
Definition: db_access.h:336
dbr_float_t lower_alarm_limit
Definition: db_access.h:345
dbr_short_t status
Definition: db_access.h:295
dbr_long_t lower_alarm_limit
Definition: db_access.h:384
char units[MAX_UNITS_SIZE]
Definition: db_access.h:427
#define DBR_GR_STRING
Definition: db_access.h:93
dbr_short_t status
Definition: db_access.h:376
char units[MAX_UNITS_SIZE]
Definition: db_access.h:339
dbr_short_t upper_disp_limit
Definition: db_access.h:324
char strs[MAX_ENUM_STATES][MAX_ENUM_STRING_SIZE]
Definition: db_access.h:354
dbr_short_t severity
Definition: db_access.h:212
#define DBR_TIME_FLOAT
Definition: db_access.h:88
dbr_short_t status
Definition: db_access.h:390
dbr_short_t severity
Definition: db_access.h:244