Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/osd.h
Show First 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
void osd_deregister(u_int type, u_int slot); | void osd_deregister(u_int type, u_int slot); | ||||
int osd_set(u_int type, struct osd *osd, u_int slot, void *value); | int osd_set(u_int type, struct osd *osd, u_int slot, void *value); | ||||
void **osd_reserve(u_int slot); | void **osd_reserve(u_int slot); | ||||
int osd_set_reserved(u_int type, struct osd *osd, u_int slot, void **rsv, | int osd_set_reserved(u_int type, struct osd *osd, u_int slot, void **rsv, | ||||
void *value); | void *value); | ||||
void osd_free_reserved(void **rsv); | void osd_free_reserved(void **rsv); | ||||
void *osd_get(u_int type, struct osd *osd, u_int slot); | void *osd_get(u_int type, struct osd *osd, u_int slot); | ||||
void *osd_get_unlocked(u_int type, struct osd *osd, u_int slot); | |||||
void osd_del(u_int type, struct osd *osd, u_int slot); | void osd_del(u_int type, struct osd *osd, u_int slot); | ||||
int osd_call(u_int type, u_int method, void *obj, void *data); | int osd_call(u_int type, u_int method, void *obj, void *data); | ||||
void osd_exit(u_int type, struct osd *osd); | void osd_exit(u_int type, struct osd *osd); | ||||
#define osd_thread_register(destructor) \ | #define osd_thread_register(destructor) \ | ||||
osd_register(OSD_THREAD, (destructor), NULL) | osd_register(OSD_THREAD, (destructor), NULL) | ||||
#define osd_thread_deregister(slot) \ | #define osd_thread_deregister(slot) \ | ||||
osd_deregister(OSD_THREAD, (slot)) | osd_deregister(OSD_THREAD, (slot)) | ||||
#define osd_thread_set(td, slot, value) \ | #define osd_thread_set(td, slot, value) \ | ||||
osd_set(OSD_THREAD, &(td)->td_osd, (slot), (value)) | osd_set(OSD_THREAD, &(td)->td_osd, (slot), (value)) | ||||
#define osd_thread_set_reserved(td, slot, rsv, value) \ | #define osd_thread_set_reserved(td, slot, rsv, value) \ | ||||
osd_set_reserved(OSD_THREAD, &(td)->td_osd, (slot), (rsv), (value)) | osd_set_reserved(OSD_THREAD, &(td)->td_osd, (slot), (rsv), (value)) | ||||
#define osd_thread_get(td, slot) \ | #define osd_thread_get(td, slot) \ | ||||
osd_get(OSD_THREAD, &(td)->td_osd, (slot)) | osd_get(OSD_THREAD, &(td)->td_osd, (slot)) | ||||
#define osd_thread_get_unlocked(td, slot) \ | |||||
osd_get_unlocked(OSD_THREAD, &(td)->td_osd, (slot)) | |||||
#define osd_thread_del(td, slot) do { \ | #define osd_thread_del(td, slot) do { \ | ||||
KASSERT((td) == curthread, ("Not curthread.")); \ | KASSERT((td) == curthread, ("Not curthread.")); \ | ||||
osd_del(OSD_THREAD, &(td)->td_osd, (slot)); \ | osd_del(OSD_THREAD, &(td)->td_osd, (slot)); \ | ||||
} while (0) | } while (0) | ||||
#define osd_thread_call(td, method, data) \ | #define osd_thread_call(td, method, data) \ | ||||
osd_call(OSD_THREAD, (method), (td), (data)) | osd_call(OSD_THREAD, (method), (td), (data)) | ||||
#define osd_thread_exit(td) \ | #define osd_thread_exit(td) \ | ||||
osd_exit(OSD_THREAD, &(td)->td_osd) | osd_exit(OSD_THREAD, &(td)->td_osd) | ||||
#define osd_jail_register(destructor, methods) \ | #define osd_jail_register(destructor, methods) \ | ||||
osd_register(OSD_JAIL, (destructor), (methods)) | osd_register(OSD_JAIL, (destructor), (methods)) | ||||
#define osd_jail_deregister(slot) \ | #define osd_jail_deregister(slot) \ | ||||
osd_deregister(OSD_JAIL, (slot)) | osd_deregister(OSD_JAIL, (slot)) | ||||
#define osd_jail_set(pr, slot, value) \ | #define osd_jail_set(pr, slot, value) \ | ||||
osd_set(OSD_JAIL, &(pr)->pr_osd, (slot), (value)) | osd_set(OSD_JAIL, &(pr)->pr_osd, (slot), (value)) | ||||
#define osd_jail_set_reserved(pr, slot, rsv, value) \ | #define osd_jail_set_reserved(pr, slot, rsv, value) \ | ||||
osd_set_reserved(OSD_JAIL, &(pr)->pr_osd, (slot), (rsv), (value)) | osd_set_reserved(OSD_JAIL, &(pr)->pr_osd, (slot), (rsv), (value)) | ||||
#define osd_jail_get(pr, slot) \ | #define osd_jail_get(pr, slot) \ | ||||
osd_get(OSD_JAIL, &(pr)->pr_osd, (slot)) | osd_get(OSD_JAIL, &(pr)->pr_osd, (slot)) | ||||
#define osd_jail_get_unlocked(pr, slot) \ | |||||
osd_get_unlocked(OSD_JAIL, &(pr)->pr_osd, (slot)) | |||||
#define osd_jail_del(pr, slot) \ | #define osd_jail_del(pr, slot) \ | ||||
osd_del(OSD_JAIL, &(pr)->pr_osd, (slot)) | osd_del(OSD_JAIL, &(pr)->pr_osd, (slot)) | ||||
#define osd_jail_call(pr, method, data) \ | #define osd_jail_call(pr, method, data) \ | ||||
osd_call(OSD_JAIL, (method), (pr), (data)) | osd_call(OSD_JAIL, (method), (pr), (data)) | ||||
#define osd_jail_exit(pr) \ | #define osd_jail_exit(pr) \ | ||||
osd_exit(OSD_JAIL, &(pr)->pr_osd) | osd_exit(OSD_JAIL, &(pr)->pr_osd) | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* !_SYS_OSD_H_ */ | #endif /* !_SYS_OSD_H_ */ |