This is Unofficial EPICS BASE Doxygen Site
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
special.h
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 Versions 3.13.7
7 * and higher are distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 /* special.h */
11 
12 /*
13  * Author: Marty Kraimer
14  * Date: 6-1-90
15  */
16 
17 #ifndef INCspecialh
18 #define INCspecialh 1
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /*NOTE Do NOT add aditional definitions with out modifying dbLexRoutines.c */
25 /* types 1-99 are global. Record specific must start with 100 */
26 #define SPC_NOMOD 1 /*Field must not be modified*/
27 #define SPC_DBADDR 2 /*db_name_to_addr must call cvt_dbaddr*/
28 #define SPC_SCAN 3 /*A scan related field is being changed*/
29 #define SPC_ALARMACK 5 /*Special Alarm Acknowledgement*/
30 #define SPC_AS 6 /* Access Security*/
31 #define SPC_ATTRIBUTE 7 /* psuedo field, i.e. attribute field*/
32 /* useful when record support must be notified of a field changing value*/
33 #define SPC_MOD 100
34 /* used by all records that support a reset field*/
35 #define SPC_RESET 101 /*The res field is being modified*/
36 /* Specific to conversion (Currently only ai */
37 #define SPC_LINCONV 102 /*A linear conversion field is being changed*/
38 /* Specific to calculation records */
39 #define SPC_CALC 103 /*The CALC field is being changed*/
40 
41 
42 #define SPC_NTYPES 9
43 typedef struct mapspcType{
44  char *strvalue;
45  int value;
46 }mapspcType;
47 
48 #ifndef SPECIAL_GBLSOURCE
49 extern mapspcType pamapspcType[];
50 #else
51 mapspcType pamapspcType[SPC_NTYPES] = {
52  {"SPC_NOMOD",SPC_NOMOD},
53  {"SPC_DBADDR",SPC_DBADDR},
54  {"SPC_SCAN",SPC_SCAN},
55  {"SPC_ALARMACK",SPC_ALARMACK},
56  {"SPC_AS",SPC_AS},
57  {"SPC_MOD",SPC_MOD},
58  {"SPC_RESET",SPC_RESET},
59  {"SPC_LINCONV",SPC_LINCONV},
60  {"SPC_CALC",SPC_CALC}
61 };
62 #endif /*SPECIAL_GBLSOURCE*/
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /*INCspecialh*/
struct mapspcType mapspcType
#define SPC_NTYPES
Definition: special.h:42
#define SPC_NOMOD
Definition: special.h:26
#define SPC_CALC
Definition: special.h:39
#define SPC_LINCONV
Definition: special.h:37
#define SPC_RESET
Definition: special.h:35
#define SPC_ALARMACK
Definition: special.h:29
mapspcType pamapspcType[]
int value
Definition: special.h:45
#define SPC_AS
Definition: special.h:30
#define SPC_DBADDR
Definition: special.h:27
char * strvalue
Definition: special.h:44
#define SPC_SCAN
Definition: special.h:28
#define SPC_MOD
Definition: special.h:33