aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/fdso.h
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2011-01-28 13:26:15 -0500
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2011-02-01 16:30:38 -0500
commita3db326495d4051bddc657d3b226ad4daa7997c4 (patch)
treec45f6ba9e7229b4318b2cb1b1de886718067eea8 /include/litmus/fdso.h
parent2dea9d5e7727b8474981557cbf925687b8f33865 (diff)
Litmus core: add generic locking API
Provide a unified userspace interface for plugin-specific locking protocols.
Diffstat (limited to 'include/litmus/fdso.h')
-rw-r--r--include/litmus/fdso.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/litmus/fdso.h b/include/litmus/fdso.h
index bfab9fdc756c..25a292d68d96 100644
--- a/include/litmus/fdso.h
+++ b/include/litmus/fdso.h
@@ -33,12 +33,13 @@ struct inode_obj_id {
33 unsigned int id; 33 unsigned int id;
34}; 34};
35 35
36struct fdso_ops;
36 37
37struct od_table_entry { 38struct od_table_entry {
38 unsigned int used; 39 unsigned int used;
39 40
40 struct inode_obj_id* obj; 41 struct inode_obj_id* obj;
41 void* extra; 42 const struct fdso_ops* class;
42}; 43};
43 44
44struct fdso_ops { 45struct fdso_ops {
@@ -51,14 +52,14 @@ struct fdso_ops {
51/* translate a userspace supplied od into the raw table entry 52/* translate a userspace supplied od into the raw table entry
52 * returns NULL if od is invalid 53 * returns NULL if od is invalid
53 */ 54 */
54struct od_table_entry* __od_lookup(int od); 55struct od_table_entry* get_entry_for_od(int od);
55 56
56/* translate a userspace supplied od into the associated object 57/* translate a userspace supplied od into the associated object
57 * returns NULL if od is invalid 58 * returns NULL if od is invalid
58 */ 59 */
59static inline void* od_lookup(int od, obj_type_t type) 60static inline void* od_lookup(int od, obj_type_t type)
60{ 61{
61 struct od_table_entry* e = __od_lookup(od); 62 struct od_table_entry* e = get_entry_for_od(od);
62 return e && e->obj->type == type ? e->obj->obj : NULL; 63 return e && e->obj->type == type ? e->obj->obj : NULL;
63} 64}
64 65