21 #if defined (ZMQ_HAVE_WINDOWS)    22 #   include <winsock2.h>    23 #   include <ws2tcpip.h>    25 #   define close closesocket    27 #   include <arpa/inet.h>    37     for(
int i = 0; i < 2; i++) {
    48         uint16_t 
event = *(uint16_t *) (data);
    66       int rc = recv(fd, buffer + received, bytes - received, 0);
    69       assert(received <= bytes);
    70       if (received == bytes) 
break;
    76     const uint8_t zmtp_greeting[33] = { 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0x7f, 3, 0, 
'N', 
'U', 
'L', 
'L', 0 };
    78     memset(buffer, 0, 
sizeof(buffer));
    79     memcpy(buffer, zmtp_greeting, 
sizeof(zmtp_greeting));
    81     int rc = send(fd, buffer, 64, 0);
    86     const uint8_t zmtp_ready[43] = {
    87         4, 41, 5, 
'R', 
'E', 
'A', 
'D', 
'Y', 11, 
'S', 
'o', 
'c', 
'k', 
'e', 
't', 
'-', 
'T', 
'y', 
'p', 
'e',
    88         0, 0, 0, 6, 
'D', 
'E', 
'A', 
'L', 
'E', 
'R', 8, 
'I', 
'd', 
'e', 
'n', 
't', 
'i', 
't', 
'y',
    92     memset(buffer, 0, 
sizeof(buffer));
    93     memcpy(buffer, zmtp_ready, 43);
    94     rc = send(fd, buffer, 43, 0);
   102     const char *secret_key;
   103     const char *public_key;
   104     const char *server_key;
   107         secret_key = 
"JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6";
   108         public_key = 
"rq:rM>}U?@Lns47E1%kR.o@n%FcmmsL/@{H8]yf7";
   112         secret_key = 
"D:)Q[IlAW!ahhC2ac:9*A}h:p?([4%wOTJ%JR%cs";
   113         public_key = 
"Yne@$w-vo<fVvi]a<NY6T1ed:M$fCG*[IaLV{hID";
   114         server_key = 
"rq:rM>}U?@Lns47E1%kR.o@n%FcmmsL/@{H8]yf7";
   126 prep_server_socket(
void * ctx, 
int set_heartbeats, 
int is_curve, 
void ** server_out, 
void ** mon_out)
   146     rc = 
zmq_bind (server, 
"tcp://127.0.0.1:5556");
   158     rc = 
zmq_connect (server_mon, 
"inproc://monitor-dealer");
   161     *server_out = server;
   162     *mon_out = server_mon;
   177     void * server, * server_mon;
   180     struct sockaddr_in ip4addr;
   183     ip4addr.sin_family = AF_INET;
   184     ip4addr.sin_port = htons (5556);
   185 #if defined (ZMQ_HAVE_WINDOWS) && (_WIN32_WINNT < 0x0600)   186     ip4addr.sin_addr.s_addr = inet_addr (
"127.0.0.1");
   188     inet_pton(AF_INET, 
"127.0.0.1", &ip4addr.sin_addr);
   191     s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
   192     rc = connect (s, (
struct sockaddr*) &ip4addr, 
sizeof ip4addr);
   232     void * server, * server_mon, *client;
   236     assert(client != NULL);
   285     void * server, * server_mon;
 void msleep(int milliseconds)
 
ZMQ_EXPORT int zmq_setsockopt(void *s, int option, const void *optval, size_t optvallen)
 
#define ZMQ_CURVE_SERVERKEY
 
#define ZMQ_EVENT_CONNECTED
 
ZMQ_EXPORT void * zmq_ctx_new(void)
 
#define ZMQ_CURVE_SECRETKEY
 
#define ZMQ_HEARTBEAT_IVL
 
void setup_test_environment(void)
 
static void recv_with_retry(int fd, char *buffer, int bytes)
 
#define ZMQ_CURVE_PUBLICKEY
 
static void test_heartbeat_ttl(void)
 
static void setup_curve(void *socket, int is_server)
 
static void prep_server_socket(void *ctx, int set_heartbeats, int is_curve, void **server_out, void **mon_out)
 
ZMQ_EXPORT void * zmq_msg_data(zmq_msg_t *msg)
 
ZMQ_EXPORT void * zmq_socket(void *, int type)
 
ZMQ_EXPORT int zmq_socket_monitor(void *s, const char *addr, int events)
 
#define ZMQ_EVENT_DISCONNECTED
 
static void test_heartbeat_notimeout(int is_curve)
 
ZMQ_EXPORT int zmq_connect(void *s, const char *addr)
 
#define ZMQ_HEARTBEAT_TTL
 
ZMQ_EXPORT int zmq_close(void *s)
 
ZMQ_EXPORT int zmq_msg_recv(zmq_msg_t *msg, void *s, int flags)
 
ZMQ_EXPORT int zmq_msg_more(zmq_msg_t *msg)
 
#define ZMQ_EVENT_ACCEPTED
 
static void mock_handshake(int fd)
 
ZMQ_EXPORT int zmq_bind(void *s, const char *addr)
 
ZMQ_EXPORT int zmq_ctx_term(void *context)
 
static int get_monitor_event(void *monitor)
 
static void test_heartbeat_timeout(void)
 
ZMQ_EXPORT int zmq_msg_init(zmq_msg_t *msg)