18 #ifndef __POK_LIBPOK_LOCKOBJ_H__
19 #define __POK_LIBPOK_LOCKOBJ_H__
25 POK_LOCKOBJ_KIND_MUTEX = 1,
26 POK_LOCKOBJ_KIND_SEMAPHORE = 2,
27 POK_LOCKOBJ_KIND_EVENT = 3
32 POK_LOCKOBJ_POLICY_STANDARD = 0,
33 POK_LOCKOBJ_POLICY_PIP = 1,
34 POK_LOCKOBJ_POLICY_PCP = 2
35 }pok_locking_policy_t;
40 pok_lockobj_kind_t kind;
41 pok_locking_policy_t locking_policy;
42 pok_queueing_discipline_t queueing_policy;
43 pok_sem_value_t initial_value;
44 pok_sem_value_t max_value;
49 LOCKOBK_LOCK_REGULAR = 1,
50 LOCKOBJ_LOCK_TIMED = 2
51 }pok_lockobj_lock_kind_t;
55 LOCKOBJ_OPERATION_LOCK = 1,
56 LOCKOBJ_OPERATION_UNLOCK = 2,
57 LOCKOBJ_OPERATION_WAIT = 3,
58 LOCKOBJ_OPERATION_SIGNAL = 4,
59 LOCKOBJ_OPERATION_BROADCAST = 5
60 }pok_lockobj_operation_t;
64 pok_lockobj_operation_t operation;
65 pok_lockobj_kind_t obj_kind;
66 pok_lockobj_lock_kind_t lock_kind;