anchor.diff:  const
     ZMQ_POLLITEMS_DFLT = 16;
   
  -function zmq_poll(items: PZmqPollItem; nitems: Integer; timeout: LongInt): Integer; cdecl; external LIBZEROMQ;
  +function zmq_poll(items: PZmqPollItem; nitems: Integer; timeout: LongInt): Integer; cdecl; external LIBZEROMQ delayed;
   
   (*  Built-in message proxy (3-way) *)
   
  -function zmq_proxy(frontend, backend, capture: Pointer): Integer; cdecl; external LIBZEROMQ;
  +function zmq_proxy(frontend, backend, capture: Pointer): Integer; cdecl; external LIBZEROMQ delayed;
   
   (* These functions are documented by man pages                                *)
   
   (*  Encode a binary key as printable text using ZMQ RFC 32  *)
   (* Encode data with Z85 encoding. Returns encoded data                        *)
  -function zmq_z85_encode(dest: PAnsiChar; data: PByte; size: NativeUInt): PAnsiChar; cdecl; external LIBZEROMQ;
  +function zmq_z85_encode(dest: PAnsiChar; data: PByte; size: NativeUInt): PAnsiChar; cdecl; external LIBZEROMQ delayed;
   
   (*  Encode a binary key from printable text per ZMQ RFC 32  *)
   (* Decode data with Z85 encoding. Returns decoded data                        *)
  -function zmq_z85_decode(dest: PByte; str: PAnsiChar): PByte; cdecl; external LIBZEROMQ;
  +function zmq_z85_decode(dest: PByte; str: PAnsiChar): PByte; cdecl; external LIBZEROMQ delayed;
   
   (* Generate z85-encoded public and private keypair with libsodium.            *)
   (* Returns 0 on success.                                                      *)
  -function zmq_curve_keypair(z85_public_key, z85_secret_key: PAnsiChar): Integer; cdecl; external LIBZEROMQ;
  +function zmq_curve_keypair(z85_public_key, z85_secret_key: PAnsiChar): Integer; cdecl; external LIBZEROMQ delayed;
   
   (*  Deprecated aliases *)
   const
  
positive.code: (*  about minutiae of time-related functions on different OS platforms.       *)
  
  (*  Starts the stopwatch. Returns the handle to the watch.                    *)
  function zmq_stopwatch_start: Pointer; cdecl; external LIBZEROMQ;
  
  (*  Stops the stopwatch. Returns the number of microseconds elapsed since     *)
  (*  the stopwatch was started.                                                *)
  function zmq_stopwatch_stop(watch: Pointer): Cardinal; cdecl; external LIBZEROMQ;
  
  (*  Sleeps for specified number of seconds.                                   *)
  procedure zmq_sleep(seconds: Integer); cdecl; external LIBZEROMQ;
  
  type
    TZmqThreadFn = procedure(data: Pointer); stdcall;
  
  (* Start a thread. Returns a handle to the thread.                            *)
  function zmq_threadstart(func: TZmqThreadFn; arg: Pointer): Pointer; cdecl; external LIBZEROMQ;
  
  (* Wait for thread to complete then free up resources.                        *)
  procedure zmq_threadclose(thread: Pointer); cdecl; external LIBZEROMQ;
  
  implementation
  
  
negative.code: (*  of this function is to make the code 100% portable, including where 0MQ   *)
  (*  compiled with certain CRT library (on Windows) is linked to an            *)
  (*  application that uses different CRT library.                              *)
    function zmq_errno(): Integer; cdecl; external LIBZEROMQ delayed;
  
  (*  Resolves system errors and 0MQ errors to human-readable string.           *)
    function zmq_strerror(errnum: Integer): PAnsiChar; cdecl; external LIBZEROMQ delayed;
  
  (******************************************************************************)
  (*  0MQ infrastructure (a.k.a. context) initialisation & termination.         *)
  