Xenomai API  2.5.6.1
include/nucleus/vdso.h
Go to the documentation of this file.
00001 #ifndef _XENO_NUCLEUS_VDSO_H
00002 #define _XENO_NUCLEUS_VDSO_H
00003 
00026 #include <nucleus/types.h>
00027 
00028 /*
00029  * Data shared between Xenomai kernel/userland and the Linux kernel/userland
00030  * on the global semaphore heap. The features element indicates which data are
00031  * shared. Notice that struct xnvdso may only grow, but never shrink.
00032  */
00033 struct xnvdso {
00034         unsigned long long features;
00035 
00036         /* Embed domain specific structures that describe the
00037          * shared data here */
00038 };
00039 
00040 /*
00041  * For each shared feature, add a flag below. For now, the set is still
00042  * empty.
00043  */
00044 /*
00045 #define XNVDSO_FEAT_A   0x0000000000000001ULL
00046 #define XNVDSO_FEAT_B   0x0000000000000002ULL
00047 #define XNVDSO_FEAT_C   0x0000000000000004ULL
00048 #define XNVDSO_FEATURES (XNVDSO_FEAT_A | XNVDSO_FEAT_B | XVDSO_FEAT_C)
00049 */
00050 #define XNVDSO_FEAT_DROP_U_MODE 0x0000000000000001ULL
00051 #define XNVDSO_FEATURES (XNVDSO_FEAT_DROP_U_MODE)
00052 
00053 extern struct xnvdso *nkvdso;
00054 
00055 static inline int xnvdso_test_feature(unsigned long long feature)
00056 {
00057         return testbits(nkvdso->features, feature);
00058 }
00059 
00060 extern void xnheap_init_vdso(void);
00061 #endif /* _XENO_NUCLEUS_VDSO_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines