SDDS ToolKit Programs and Libraries for C and Python
All Classes Files Functions Variables Macros Pages
pvMultList.h
Go to the documentation of this file.
1/**
2 * @file pvMultList.h
3 * @brief Helper Functions used by cavget and cavput.
4 *
5 * This file contains routines for creating PV (Process Variable) names through
6 * multiplication of string lists or numeric ranges.
7 *
8 * @copyright
9 * - (c) 2002 The University of Chicago, as Operator of Argonne National Laboratory.
10 * - (c) 2002 The Regents of the University of California, as Operator of Los Alamos National Laboratory.
11 *
12 * @license
13 * This file is distributed under the terms of the Software License Agreement
14 * found in the file LICENSE included with this distribution.
15 *
16 * @authors
17 * - M. Borland
18 * - R. Soliday
19 * - H. Shang
20 */
21
22#ifndef pvMultListInclude
23#define pvMultListInclude
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#define VALUE_GIVEN 0x0001UL
30
31typedef struct {
32 double numericalValue;
33 double mean, median, sigma, min, max, spread, stDev, rms, MAD;
34 char *name, *value;
35} PV_VALUE;
36
37typedef struct {
38 char *string, *value;
39 unsigned long flags;
40} TERM_LIST;
41
42void multiplyWithList(PV_VALUE **PVvalue, long *PVvalues,
43 TERM_LIST *List, long listEntries);
44void multiplyWithRange(PV_VALUE **PVvalue, long *PVvalues, long begin, long end, long interval, char *format);
45
46#define BEGIN_GIVEN 0x0001U
47#define END_GIVEN 0x0002U
48#define FORMAT_GIVEN 0x0004U
49#define INTERVAL_GIVEN 0x0008U
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif