diff options
Diffstat (limited to 'portato')
-rw-r--r-- | portato/mq.pxd | 51 | ||||
-rw-r--r-- | portato/mq.pyx | 50 |
2 files changed, 62 insertions, 39 deletions
diff --git a/portato/mq.pxd b/portato/mq.pxd new file mode 100644 index 0000000..ab5cfbe --- /dev/null +++ b/portato/mq.pxd @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# +# File: portato/mq.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 stdlib 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 diff --git a/portato/mq.pyx b/portato/mq.pyx index a1e1dd8..a5d0745 100644 --- a/portato/mq.pyx +++ b/portato/mq.pyx @@ -1,42 +1,14 @@ -from stdlib 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 +# -*- coding: utf-8 -*- +# +# File: portato/mq.pyx +# 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> class MessageQueueError(Exception): pass |