EPICS Base
7.0.7.0
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
epicsExport.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
* SPDX-License-Identifier: EPICS
7
* EPICS Base is distributed subject to a Software License Agreement found
8
* in file LICENSE that is included with this distribution.
9
\*************************************************************************/
10
11
#ifndef INC_epicsExport_H
12
#define INC_epicsExport_H
13
29
#define epicsExportSharedSymbols
30
#include <
shareLib.h
>
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
typedef
void (*REGISTRAR)(void);
37
38
#define EPICS_EXPORT_POBJ(typ, obj) pvar_ ## typ ## _ ## obj
39
#define EPICS_EXPORT_PFUNC(fun) EPICS_EXPORT_POBJ(func, fun)
40
75
#define epicsExportAddress(typ, obj) \
76
epicsShareExtern typ *EPICS_EXPORT_POBJ(typ,obj); \
77
epicsShareDef typ *EPICS_EXPORT_POBJ(typ, obj) = (typ *) (char *) &obj
78
94
#define epicsExportRegistrar(fun) \
95
epicsShareFunc REGISTRAR EPICS_EXPORT_PFUNC(fun) = (REGISTRAR) &fun
96
111
#define epicsRegisterFunction(fun) \
112
static void register_func_ ## fun(void) \
113
{ \
114
registryFunctionAdd(#fun, (REGISTRYFUNCTION) fun); \
115
} \
116
epicsExportRegistrar(register_func_ ## fun)
117
118
#ifdef __cplusplus
119
}
120
#endif
121
122
#endif
/* INC_epicsExport_H */
shareLib.h
Mark external symbols and entry points for shared libraries.
Generated on Wed Sep 7 2022 16:32:57 for EPICS Base by
1.8.5