diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2009-08-15 12:10:15 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2009-08-15 12:10:15 +0200 |
commit | 62c7271dc0fbb348be83304a2ffd823cb21c10d7 (patch) | |
tree | b31e18e3e08ab7492e4af2fd16904faa10c952f6 /portato/ipc.pxd | |
parent | 1e59217d2b2266b4870a51667ad71b011aa4204f (diff) | |
parent | 2fdd70e3a102f666ab9f036d76e7e892421f6840 (diff) | |
download | portato-62c7271dc0fbb348be83304a2ffd823cb21c10d7.tar.gz portato-62c7271dc0fbb348be83304a2ffd823cb21c10d7.tar.bz2 portato-62c7271dc0fbb348be83304a2ffd823cb21c10d7.zip |
Merge in own message queue module
Diffstat (limited to 'portato/ipc.pxd')
-rw-r--r-- | portato/ipc.pxd | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/portato/ipc.pxd b/portato/ipc.pxd new file mode 100644 index 0000000..64ca05d --- /dev/null +++ b/portato/ipc.pxd @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# +# File: portato/ipc.pxd +# This file is part of the Portato-Project, a graphical portage-frontend. +# +# Copyright (C) 2006-2009 René 'Necoro' Neumann +# This is free software. You may redistribute copies of it under the terms of +# the GNU General Public License version 2. +# There is NO WARRANTY, to the extent permitted by law. +# +# Written by René 'Necoro' Neumann <necoro@necoro.net> + +from python_string cimport * +from python_mem cimport * + +cdef extern from "errno.h": + int errno + cdef enum: + EACCES, EEXIST, ENOENT, ENOMEM, ENOSPC, + EINVAL, EPERM, EIDRM, EINTR + +cdef extern from *: + int INT_MAX + int RAND_MAX + ctypedef size_t int + int rand() + +cdef extern from "string.h": + char* strerror(int errno) + void* memcpy (void* dst, void* src, size_t len) + +cdef extern from "sys/msg.h" nogil: + cdef enum: + IPC_CREAT, IPC_EXCL, IPC_NOWAIT, + IPC_RMID + + ctypedef int key_t + + struct msqid_ds: + pass + + int msgget(key_t key, int msgflg) + int msgctl(int msqid, int cmd, msqid_ds* buf) + int msgsnd(int msgid, void* msgp, size_t msgsz, int msgflg) + int msgrcv(int msgid, void* msgp, size_t msgsz, long msgtype, int msgflg) + +cdef struct msg_data: + long mtype + char mtext[1] + +cdef enum: + MAX_MESSAGE_SIZE = 2048 |