text: /*  =========================================================================
      curve - CURVE wrapper
  
      Copyright (c) the Contributors as noted in the AUTHORS file.         
      This file is part of the Curve authentication and encryption library.
                                                                           
      This Source Code Form is subject to the terms of the Mozilla Public  
      License, v. 2.0. If a copy of the MPL was not distributed with this  
      file, You can obtain one at http://mozilla.org/MPL/2.0/.             
  
  ################################################################################
  #  THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY  #
  #  Please refer to the README for information about making permanent changes.  #
  ################################################################################
      =========================================================================
  */
  
  #ifndef __curve_library_H_INCLUDED__
  #define __curve_library_H_INCLUDED__
  
  //  External dependencies
  //#include <czmq.h>
  //#include <sodium.h>
  
  //  CURVE version macros for compile-time API detection
  
  #define CURVE_VERSION_MAJOR 1
  #define CURVE_VERSION_MINOR 0
  #define CURVE_VERSION_PATCH 0
  
  #define CURVE_MAKE_VERSION(major, minor, patch) \
      ((major) * 10000 + (minor) * 100 + (patch))
  #define CURVE_VERSION \
      CURVE_MAKE_VERSION(CURVE_VERSION_MAJOR, CURVE_VERSION_MINOR, CURVE_VERSION_PATCH)
  
  #if defined (__WINDOWS__)
  #   if defined LIBCURVE_STATIC
  #       define CURVE_EXPORT
  #   elif defined LIBCURVE_EXPORTS
  #       define CURVE_EXPORT __declspec(dllexport)
  #   else
  #       define CURVE_EXPORT __declspec(dllimport)
  #   endif
  #else
  #   define CURVE_EXPORT
  #endif
  
  #define streq(s1,s2)    (!strcmp ((s1), (s2)))
  #define strneq(s1,s2)   (strcmp ((s1), (s2)))
  
  //  Provide random number from 0..(num-1)
  #if (defined (__WINDOWS__))
  #   define randof(num)  (int) ((float) (num) * rand () / (RAND_MAX + 1.0))
  #else
  #   define randof(num)  (int) ((float) (num) * random () / (RAND_MAX + 1.0))
  #endif
  
  typedef unsigned char   byte;           //  Single unsigned byte = 8 bits
  
  typedef struct _zcert_t zcert_t;
  
  typedef struct _zframe_t zframe_t;
  
  typedef struct _zhash_t zhash_t;
  
  typedef struct zmq_msg_t {unsigned char _ [48];} zmq_msg_t;
  
  //  Opaque class structures to allow forward references
  typedef struct _curve_client_t curve_client_t;
  #define CURVE_CLIENT_T_DEFINED
  typedef struct _curve_server_t curve_server_t;
  #define CURVE_SERVER_T_DEFINED
  typedef struct _curve_codec_t curve_codec_t;
  #define CURVE_CODEC_T_DEFINED
  typedef struct _curve_z85_t curve_z85_t;
  #define CURVE_Z85_T_DEFINED
  
  
  //  Public API classes
  //#include "curve_client.h"
  //#include "curve_server.h"
  #include "curve_codec.h"
  //#include "curve_z85.h"
  
  #endif
  /*
  ################################################################################
  #  THIS FILE IS 100% GENERATED BY ZPROJECT; DO NOT EDIT EXCEPT EXPERIMENTALLY  #
  #  Please refer to the README for information about making permanent changes.  #
  ################################################################################
  */
  