anchor.diff:  (*  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;
  +function zmq_stopwatch_start: Pointer; cdecl; external LIBZEROMQ delayed;
   
   (*  Stops the stopwatch. Returns the number of microseconds elapsed since     *)
   (*  the stopwatch was started.                                                *)
  -function zmq_stopwatch_stop(watch: Pointer): Cardinal; cdecl; external LIBZEROMQ;
  +function zmq_stopwatch_stop(watch: Pointer): Cardinal; cdecl; external LIBZEROMQ delayed;
   
   (*  Sleeps for specified number of seconds.                                   *)
  -procedure zmq_sleep(seconds: Integer); cdecl; external LIBZEROMQ;
  +procedure zmq_sleep(seconds: Integer); cdecl; external LIBZEROMQ delayed;
   
   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;
  +function zmq_threadstart(func: TZmqThreadFn; arg: Pointer): Pointer; cdecl; external LIBZEROMQ delayed;
   
   (* Wait for thread to complete then free up resources.                        *)
  -procedure zmq_threadclose(thread: Pointer); cdecl; external LIBZEROMQ;
  +procedure zmq_threadclose(thread: Pointer); cdecl; external LIBZEROMQ delayed;
   
   implementation
   
  
positive.code: 
    TZmqFreeFunction = procedure(data, hint: Pointer); stdcall;
  
  function zmq_msg_init(msg: PZmqMsg): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_init_size(msg: PZmqMsg; size: NativeUInt): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_init_data(msg: PZmqMsg; data: Pointer; size: NativeUInt; ffn: TZmqFreeFunction; hint: Pointer): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_send(msg: PZmqMsg; s: Pointer; flags: Integer): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_recv(msg: PZmqMsg; s: Pointer; flags: Integer): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_close(msg: PZmqMsg): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_move(dest, src: PZmqMsg): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_copy(dest, src: PZmqMsg): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_data(msg: PZmqMsg): Pointer; cdecl; external LIBZEROMQ;
  function zmq_msg_size(msg: PZmqMsg): NativeUInt; cdecl; external LIBZEROMQ;
  function zmq_msg_more(msg: PZmqMsg): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_get(msg: PZmqMsg; option: Integer): Integer; cdecl; external LIBZEROMQ;
  function zmq_msg_set(msg: PZmqMsg; option, optval: Integer): Integer; cdecl; external LIBZEROMQ;
  
  (******************************************************************************)
  (*  0MQ socket definition.                                                    *)
  
negative.code:   ZMQ_IO_THREADS_DFLT  = 1;
    ZMQ_MAX_SOCKETS_DFLT = 1024;
  
  function zmq_ctx_new(): Pointer; cdecl; external LIBZEROMQ delayed;
  function zmq_ctx_term(context: Pointer): Integer; cdecl; external LIBZEROMQ delayed;
  function zmq_ctx_shutdown(context: Pointer): Integer; cdecl; external LIBZEROMQ delayed;
  function zmq_ctx_set(context: Pointer; option, optval: Integer): Integer; cdecl; external LIBZEROMQ delayed;
  function zmq_ctx_get(context: Pointer; option: Integer): Integer; cdecl; external LIBZEROMQ delayed;
  
  (*  Old (legacy) API                                                          *)
  function zmq_init(io_threads: Integer): Pointer; cdecl; external LIBZEROMQ delayed; deprecated;
  function zmq_term(context: Pointer): Integer; cdecl; external LIBZEROMQ delayed; deprecated;
  function zmq_ctx_destroy(context: Pointer): Integer; cdecl; external LIBZEROMQ delayed; deprecated;
  
  (******************************************************************************)
  (*  0MQ message definition.                                                   *)
  