From a77e3a63f004e6ee789fa05e4a5bbc333b1529f1 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Fri, 12 Sep 2014 14:16:22 +0000 Subject: Imported from /home/lorry/working-area/delta_python-packages_sysv-ipc-tarball/sysv_ipc-0.6.8.tar.gz. --- semaphore.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 semaphore.h (limited to 'semaphore.h') diff --git a/semaphore.h b/semaphore.h new file mode 100644 index 0000000..b4ee63d --- /dev/null +++ b/semaphore.h @@ -0,0 +1,53 @@ +typedef struct { + PyObject_HEAD + key_t key; + int id; + short op_flags; +} Semaphore; + + +/* Object methods */ +PyObject *Semaphore_new(PyTypeObject *type, PyObject *, PyObject *); +int Semaphore_init(Semaphore *, PyObject *, PyObject *); +void Semaphore_dealloc(Semaphore *); +PyObject *Semaphore_enter(Semaphore *); +PyObject *Semaphore_exit(Semaphore *, PyObject *); +PyObject *Semaphore_P(Semaphore *, PyObject *, PyObject *); +PyObject *Semaphore_acquire(Semaphore *, PyObject *, PyObject *); +PyObject *Semaphore_V(Semaphore *, PyObject *, PyObject *); +PyObject *Semaphore_release(Semaphore *, PyObject *, PyObject *); +PyObject *Semaphore_Z(Semaphore *, PyObject *, PyObject *); +PyObject *Semaphore_remove(Semaphore *); + +/* Object attributes (read-write & read-only) */ +PyObject *sem_get_value(Semaphore *); +int sem_set_value(Semaphore *self, PyObject *py_value); + +PyObject *sem_get_block(Semaphore *); +int sem_set_block(Semaphore *self, PyObject *py_value); + +PyObject *sem_get_mode(Semaphore *); +int sem_set_mode(Semaphore *, PyObject *); + +PyObject *sem_get_undo(Semaphore *); +int sem_set_undo(Semaphore *self, PyObject *py_value); + +PyObject *sem_get_uid(Semaphore *); +int sem_set_uid(Semaphore *, PyObject *); + +PyObject *sem_get_gid(Semaphore *); +int sem_set_gid(Semaphore *, PyObject *); + +PyObject *sem_get_key(Semaphore *); +PyObject *sem_get_c_uid(Semaphore *); +PyObject *sem_get_c_gid(Semaphore *); +PyObject *sem_get_last_pid(Semaphore *); +PyObject *sem_get_waiting_for_nonzero(Semaphore *); +PyObject *sem_get_waiting_for_zero(Semaphore *); +PyObject *sem_get_o_time(Semaphore *); + +PyObject *sem_str(Semaphore *); +PyObject *sem_repr(Semaphore *); + +/* Utility functions */ +PyObject *sem_remove(int); -- cgit v1.2.1