This is Unofficial EPICS BASE Doxygen Site
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
* 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
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.
REGISTRAR
void(* REGISTRAR)(void)
Definition:
epicsExport.h:36
modules
libcom
src
misc
epicsExport.h
Generated by
1.8.11