1
"""All the C imports for 0MQ"""
4
# Copyright (c) 2010 Brian E. Granger
6
# This file is part of pyzmq.
8
# pyzmq is free software; you can redistribute it and/or modify it under
9
# the terms of the Lesser GNU General Public License as published by
10
# the Free Software Foundation; either version 3 of the License, or
11
# (at your option) any later version.
13
# pyzmq is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# Lesser GNU General Public License for more details.
18
# You should have received a copy of the Lesser GNU General Public License
19
# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
#-----------------------------------------------------------------------------
24
#-----------------------------------------------------------------------------
26
#-----------------------------------------------------------------------------
27
# Import the C header files
28
#-----------------------------------------------------------------------------
30
cdef extern from "errno.h" nogil:
31
enum: ZMQ_EINVAL "EINVAL"
32
enum: ZMQ_EAGAIN "EAGAIN"
33
enum: ZMQ_EFAULT "EFAULT"
34
enum: ZMQ_ENOMEM "ENOMEM"
35
enum: ZMQ_ENODEV "ENODEV"
37
cdef extern from "string.h" nogil:
38
void *memcpy(void *dest, void *src, size_t n)
39
size_t strlen(char *s)
41
cdef extern from "zmq_compat.h":
42
ctypedef signed long long int64_t "pyzmq_int64_t"
44
cdef extern from "zmq.h" nogil:
46
void _zmq_version "zmq_version"(int *major, int *minor, int *patch)
49
enum: ZMQ_ENOTSUP "ENOTSUP"
50
enum: ZMQ_EPROTONOSUPPORT "EPROTONOSUPPORT"
51
enum: ZMQ_ENOBUFS "ENOBUFS"
52
enum: ZMQ_ENETDOWN "ENETDOWN"
53
enum: ZMQ_EADDRINUSE "EADDRINUSE"
54
enum: ZMQ_EADDRNOTAVAIL "EADDRNOTAVAIL"
55
enum: ZMQ_ECONNREFUSED "ECONNREFUSED"
56
enum: ZMQ_EINPROGRESS "EINPROGRESS"
57
enum: ZMQ_EMTHREAD "EMTHREAD"
59
enum: ZMQ_ENOCOMPATPROTO "ENOCOMPATPROTO"
60
enum: ZMQ_ETERM "ETERM"
63
char *zmq_strerror (int errnum)
66
enum: ZMQ_MAX_VSM_SIZE # 30
67
enum: ZMQ_DELIMITER # 31
69
enum: ZMQ_MSG_MORE # 1
70
enum: ZMQ_MSG_SHARED # 128
72
ctypedef struct zmq_msg_t:
75
unsigned char vsm_size
76
unsigned char vsm_data [ZMQ_MAX_VSM_SIZE]
78
ctypedef void zmq_free_fn(void *data, void *hint)
80
int zmq_msg_init (zmq_msg_t *msg)
81
int zmq_msg_init_size (zmq_msg_t *msg, size_t size)
82
int zmq_msg_init_data (zmq_msg_t *msg, void *data,
83
size_t size, zmq_free_fn *ffn, void *hint)
84
int zmq_msg_close (zmq_msg_t *msg)
85
int zmq_msg_move (zmq_msg_t *dest, zmq_msg_t *src)
86
int zmq_msg_copy (zmq_msg_t *dest, zmq_msg_t *src)
87
void *zmq_msg_data (zmq_msg_t *msg)
88
size_t zmq_msg_size (zmq_msg_t *msg)
90
void *zmq_init (int io_threads)
91
int zmq_term (void *context)
102
enum: ZMQ_UPSTREAM # 7
103
enum: ZMQ_DOWNSTREAM # 8
107
enum: ZMQ_AFFINITY # 4
108
enum: ZMQ_IDENTITY # 5
109
enum: ZMQ_SUBSCRIBE # 6
110
enum: ZMQ_UNSUBSCRIBE # 7
112
enum: ZMQ_RECOVERY_IVL # 9
113
enum: ZMQ_MCAST_LOOP # 10
114
enum: ZMQ_SNDBUF # 11
115
enum: ZMQ_RCVBUF # 12
116
enum: ZMQ_RCVMORE # 13
118
enum: ZMQ_NOBLOCK # 1
119
enum: ZMQ_SNDMORE # 2
121
void *zmq_socket (void *context, int type)
122
int zmq_close (void *s)
123
int zmq_setsockopt (void *s, int option, void *optval, size_t optvallen)
124
int zmq_getsockopt (void *s, int option, void *optval, size_t *optvallen)
125
int zmq_bind (void *s, char *addr)
126
int zmq_connect (void *s, char *addr)
127
int zmq_send (void *s, zmq_msg_t *msg, int flags)
128
int zmq_recv (void *s, zmq_msg_t *msg, int flags)
131
enum: ZMQ_POLLOUT # 2
132
enum: ZMQ_POLLERR # 4
134
ctypedef struct zmq_pollitem_t:
142
int zmq_poll (zmq_pollitem_t *items, int nitems, long timeout)
147
int zmq_device (int device_, void *insocket_, void *outsocket_)
149
cdef extern from "zmq_utils.h" nogil:
151
void *zmq_stopwatch_start ()
152
unsigned long zmq_stopwatch_stop (void *watch_)
153
void zmq_sleep (int seconds_)