00001 #ifndef _XENO_NUCLEUS_PPD_H
00002 #define _XENO_NUCLEUS_PPD_H
00003
00004 #include <nucleus/queue.h>
00005
00006 struct mm_struct;
00007
00008 typedef struct xnshadow_ppd_key {
00009 unsigned long muxid;
00010 struct mm_struct *mm;
00011 } xnshadow_ppd_key_t;
00012
00013 typedef struct xnshadow_ppd_t {
00014 xnshadow_ppd_key_t key;
00015 xnholder_t link;
00016 #define link2ppd(laddr) \
00017 (xnshadow_ppd_t *)((char *)(laddr) - offsetof(xnshadow_ppd_t, link))
00018 } xnshadow_ppd_t;
00019
00020 #define xnshadow_ppd_muxid(ppd) ((ppd)->key.muxid)
00021
00022 #define xnshadow_ppd_mm(ppd) ((ppd)->key.mm)
00023
00024
00025 xnshadow_ppd_t *xnshadow_ppd_get(unsigned muxid);
00026
00027 #endif