EPICS Base
7.0.8.1
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
35
#define epicsExportSharedSymbols
36
#include <
shareLib.h
>
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
42
typedef
void (*REGISTRAR)(void);
43
44
#define EPICS_EXPORT_POBJ(typ, obj) pvar_ ## typ ## _ ## obj
45
#define EPICS_EXPORT_PFUNC(fun) EPICS_EXPORT_POBJ(func, fun)
46
81
#define epicsExportAddress(typ, obj) \
82
epicsShareExtern typ *EPICS_EXPORT_POBJ(typ,obj); \
83
epicsShareDef typ *EPICS_EXPORT_POBJ(typ, obj) = (typ *) (char *) &obj
84
100
#define epicsExportRegistrar(fun) \
101
epicsShareFunc REGISTRAR EPICS_EXPORT_PFUNC(fun) = (REGISTRAR) &fun
102
117
#define epicsRegisterFunction(fun) \
118
static void register_func_ ## fun(void) \
119
{ \
120
registryFunctionAdd(#fun, (REGISTRYFUNCTION) fun); \
121
} \
122
epicsExportRegistrar(register_func_ ## fun)
123
124
#ifdef __cplusplus
125
}
126
#endif
127
128
#endif
/* INC_epicsExport_H */
shareLib.h
Mark external symbols and entry points for shared libraries.
Generated on Sun Jun 30 2024 13:46:57 for EPICS Base by
1.8.5