Accelerator Independent Data Access / PVAccess 2.0
AIDA-PVA is the latest version of the AIDA framework. Built on top of EPICS 7 it enables client applications to programmatically access and manage any device or database on the SLAC Network using simple channel names.
Loading...
Searching...
No Matches
aida_pva_convert.h
Go to the documentation of this file.
1/** @file
2 * @brief The Header File for the type conversion functions.
3 * **CMS**=C_INC
4 */
5#ifndef aida_pva_convert_h
6#define aida_pva_convert_h
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#include <jni.h>
12#include <stdbool.h>
13#include "sysutil_proto.h"
14#include "aida_pva_json.h"
15#include "aida_pva.h"
16
17/**
18 * @def CONVERT_TO_VMS_FLOAT
19 * Convert in-place, floating point numbers from ieee to VMS format. Give a pointer to
20 * an array of ieee floating point numbers and this macro will convert it in-place, to VMS format
21 * @param _float pointer to a single ieee floating point number or an array of them
22 * @param _count the number of ieee point numbers to convert
23 */
24#define CONVERT_TO_VMS_FLOAT(_float, _count) \
25{ \
26 int2u _n = _count; \
27 CVT_IEEE_TO_VMS_FLT(_float, _float, &_n); \
28}
29
30/**
31 * @def CONVERT_TO_VMS_DOUBLE
32 * Convert in-place, doubles from ieee to VMS format. Give a pointer to
33 * an array of ieee doubles and this macro will convert it in-place, to VMS format
34 * @param _double pointer to a single ieee double or an array of them
35 * @param _count the number of doubles to convert
36 */
37#define CONVERT_TO_VMS_DOUBLE(_double, _count) \
38{ \
39 int2u _n = _count; \
40 CVT_IEEE_TO_VMS_DBL(_double, _double, &_n); \
41}
42
43/**
44 * @def CONVERT_FROM_VMS_FLOAT
45 * Convert in-place, floating point numbers from VMS to ieee format. Give a pointer to
46 * an array of VMS floating point numbers and this macro will convert it in-place, to ieee format
47 * @param _float pointer to a single VMS floating point number or an array of them
48 * @param _count the number of floating point numbers to convert
49 */
50#define CONVERT_FROM_VMS_FLOAT(_float, _count) \
51{ \
52 int2u _n = _count; \
53 CVT_VMS_TO_IEEE_FLT(_float, _float, &_n); \
54}
55
56/**
57 * @def CONVERT_FROM_VMS_DOUBLE
58 * Convert in-place, doubles from VMS to ieee format. Give a pointer to
59 * an array of VMS doubles and this macro will convert it in-place, to ieee format
60 * @param _double pointer to a single VMS double or an array of them
61 * @param _count the number of doubles to convert
62 */
63#define CONVERT_FROM_VMS_DOUBLE(_double, _count) \
64{ \
65 int2u _n = _count; \
66 CVT_VMS_TO_IEEE_DBL(_double, _double, &_n); \
67}
68
69#ifdef __cplusplus
70}
71#endif
72#endif
73
The Header File for the AIDA-PVA Module functions.