From 6f7b2ca02c23ea53510a9b0e0f181d5364ce9d32 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Sun, 16 May 2021 13:54:17 +0000 Subject: [PATCH] Grovel zmq_pollitem_t (#35) This accounts for variable fd size on Windows. Fixes #34 --- c-api.lisp | 11 ----------- grovel.lisp | 8 ++++++++ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/c-api.lisp b/c-api.lisp index c80699c..529853b 100644 --- a/c-api.lisp +++ b/c-api.lisp @@ -411,11 +411,6 @@ Low-level API. Consider using @fun{WITH-MESSAGE}." (:gssapi-service-principal-nametype 91) (:bindtodevice 92)) -(defbitfield (events :short) - :pollin - :pollout - :pollerr) - (defcfun ("zmq_getsockopt" %getsockopt) :int "Get ØMQ socket options." (socket :pointer) @@ -583,12 +578,6 @@ Connected socket may not receive messages sent before it was bound. (len size) (flags :int)) -(defcstruct pollitem - (socket :pointer) - (fd :int) - (events events) - (revents events)) - (defcfun ("zmq_poll" %poll) :int (items :pointer) (nitems :int) diff --git a/grovel.lisp b/grovel.lisp index 23a2c1a..b41bd02 100644 --- a/grovel.lisp +++ b/grovel.lisp @@ -2,6 +2,14 @@ (include "zmq.h") (ctype size "size_t") (cstruct %msg "zmq_msg_t") +(bitfield (events :base-type :short) + ((:pollin "ZMQ_POLLIN")) + ((:pollout "ZMQ_POLLOUT")) + ((:pollerr "ZMQ_POLLERR"))) +(cstruct pollitem "zmq_pollitem_t" + (socket "socket" :type :pointer) + (events "events" :type events) + (revents "revents" :type events)) (constantenum c-errors ;;; awk -F '[*:]' '/\*E.+\*::/ {print $2}' doc/* | sort | uniq | awk '{print " ((:" tolower($1), "\"" $1 "\"))"}' | xclip