18 #ifndef _BOILERPLATE_SCOPE_H
19 #define _BOILERPLATE_SCOPE_H
21 #include <sys/types.h>
24 #include <xeno_config.h>
26 typedef uintptr_t memoff_t;
28 #ifdef CONFIG_XENO_PSHARED
30 extern void *__main_heap;
32 int pshared_check(
void *heap,
void *addr);
34 #define dref_type(t) memoff_t
36 #define __memoff(__base, __addr) ((memoff_t)((caddr_t)(__addr) - (caddr_t)(__base)))
37 #define __memptr(__base, __off) ((void *)((caddr_t)(__base) + (__off)))
38 #define __memchk(__base, __addr) pshared_check(__base, __addr)
40 #define __moff(__p) __memoff(__main_heap, __p)
41 #define __mptr(__off) __memptr(__main_heap, __off)
42 #define __mchk(__p) __memchk(__main_heap, __p)
44 #define mutex_scope_attribute PTHREAD_PROCESS_SHARED
45 #define sem_scope_attribute 1
46 #ifdef CONFIG_XENO_COBALT
47 #define monitor_scope_attribute COBALT_MONITOR_SHARED
48 #define event_scope_attribute COBALT_EVENT_SHARED
53 #define __main_heap NULL
55 #define dref_type(t) __typeof__(t)
57 #define __memoff(__base, __addr) (__addr)
58 #define __memptr(__base, __off) (__off)
59 #define __memchk(__base, __addr) 1
61 #define __moff(__p) (__p)
62 #define __mptr(__off) (__off)
65 #define mutex_scope_attribute PTHREAD_PROCESS_PRIVATE
66 #define sem_scope_attribute 0
67 #ifdef CONFIG_XENO_COBALT
68 #define monitor_scope_attribute 0
69 #define event_scope_attribute 0