Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
L
libzmq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
libzmq
Commits
bbf59719
Commit
bbf59719
authored
Jul 01, 2014
by
Richard Newton
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1112 from hintjens/master
Problem: two header files for a single library
parents
fa3ae974
39f2e8f2
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
99 deletions
+59
-99
zmq.h
include/zmq.h
+53
-6
zmq_utils.h
include/zmq_utils.h
+2
-86
testutil.hpp
tests/testutil.hpp
+1
-1
curve_keygen.cpp
tools/curve_keygen.cpp
+3
-6
No files found.
include/zmq.h
View file @
bbf59719
...
...
@@ -359,11 +359,6 @@ ZMQ_EXPORT int zmq_send_const (void *s, const void *buf, size_t len, int flags);
ZMQ_EXPORT
int
zmq_recv
(
void
*
s
,
void
*
buf
,
size_t
len
,
int
flags
);
ZMQ_EXPORT
int
zmq_socket_monitor
(
void
*
s
,
const
char
*
addr
,
int
events
);
/* Experimental */
struct
iovec
;
ZMQ_EXPORT
int
zmq_sendiov
(
void
*
s
,
struct
iovec
*
iov
,
size_t
count
,
int
flags
);
ZMQ_EXPORT
int
zmq_recviov
(
void
*
s
,
struct
iovec
*
iov
,
size_t
*
count
,
int
flags
);
/******************************************************************************/
/* I/O multiplexing. */
...
...
@@ -389,12 +384,16 @@ typedef struct zmq_pollitem_t
ZMQ_EXPORT
int
zmq_poll
(
zmq_pollitem_t
*
items
,
int
nitems
,
long
timeout
);
/* Built-in message proxy (3-way) */
/******************************************************************************/
/* Message proxying */
/******************************************************************************/
ZMQ_EXPORT
int
zmq_proxy
(
void
*
frontend
,
void
*
backend
,
void
*
capture
);
ZMQ_EXPORT
int
zmq_proxy_steerable
(
void
*
frontend
,
void
*
backend
,
void
*
capture
,
void
*
control
);
/******************************************************************************/
/* Probe library capabilities */
/******************************************************************************/
#define ZMQ_HAS_CAPABILITIES 1
ZMQ_EXPORT
int
zmq_has
(
const
char
*
capability
);
...
...
@@ -410,6 +409,54 @@ ZMQ_EXPORT int zmq_sendmsg (void *s, zmq_msg_t *msg, int flags);
ZMQ_EXPORT
int
zmq_recvmsg
(
void
*
s
,
zmq_msg_t
*
msg
,
int
flags
);
/******************************************************************************/
/* Encryption functions */
/******************************************************************************/
/* Encode data with Z85 encoding. Returns encoded data */
ZMQ_EXPORT
char
*
zmq_z85_encode
(
char
*
dest
,
uint8_t
*
data
,
size_t
size
);
/* Decode data with Z85 encoding. Returns decoded data */
ZMQ_EXPORT
uint8_t
*
zmq_z85_decode
(
uint8_t
*
dest
,
char
*
string
);
/* Generate z85-encoded public and private keypair with libsodium. */
/* Returns 0 on success. */
ZMQ_EXPORT
int
zmq_curve_keypair
(
char
*
z85_public_key
,
char
*
z85_secret_key
);
/******************************************************************************/
/* These functions are not documented by man pages -- use at your own risk. */
/* If you need these to be part of the formal ZMQ API, then (a) write a man */
/* page, and (b) write a test case in tests. */
/******************************************************************************/
struct
iovec
;
ZMQ_EXPORT
int
zmq_sendiov
(
void
*
s
,
struct
iovec
*
iov
,
size_t
count
,
int
flags
);
ZMQ_EXPORT
int
zmq_recviov
(
void
*
s
,
struct
iovec
*
iov
,
size_t
*
count
,
int
flags
);
/* Helper functions are used by perf tests so that they don't have to care */
/* about minutiae of time-related functions on different OS platforms. */
/* Starts the stopwatch. Returns the handle to the watch. */
ZMQ_EXPORT
void
*
zmq_stopwatch_start
(
void
);
/* Stops the stopwatch. Returns the number of microseconds elapsed since */
/* the stopwatch was started. */
ZMQ_EXPORT
unsigned
long
zmq_stopwatch_stop
(
void
*
watch_
);
/* Sleeps for specified number of seconds. */
ZMQ_EXPORT
void
zmq_sleep
(
int
seconds_
);
typedef
void
(
zmq_thread_fn
)
(
void
*
);
/* Start a thread. Returns a handle to the thread. */
ZMQ_EXPORT
void
*
zmq_threadstart
(
zmq_thread_fn
*
func
,
void
*
arg
);
/* Wait for thread to complete then free up resources. */
ZMQ_EXPORT
void
zmq_threadclose
(
void
*
thread
);
#undef ZMQ_EXPORT
#ifdef __cplusplus
...
...
include/zmq_utils.h
View file @
bbf59719
...
...
@@ -17,89 +17,4 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __ZMQ_UTILS_H_INCLUDED__
#define __ZMQ_UTILS_H_INCLUDED__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/* Define integer types needed for event interface */
#if defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OPENVMS
# include <inttypes.h>
#elif defined _MSC_VER && _MSC_VER < 1600
# ifndef int32_t
typedef
__int32
int32_t
;
# endif
# ifndef uint16_t
typedef
unsigned
__int16
uint16_t
;
# endif
#else
# include <stdint.h>
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
/* Handle DSO symbol visibility */
#if defined _WIN32
# if defined ZMQ_STATIC
# define ZMQ_EXPORT
# elif defined DLL_EXPORT
# define ZMQ_EXPORT __declspec(dllexport)
# else
# define ZMQ_EXPORT __declspec(dllimport)
# endif
#else
# if defined __SUNPRO_C || defined __SUNPRO_CC
# define ZMQ_EXPORT __global
# elif (defined __GNUC__ && __GNUC__ >= 4) || defined __INTEL_COMPILER
# define ZMQ_EXPORT __attribute__ ((visibility("default")))
# else
# define ZMQ_EXPORT
# endif
#endif
/* These functions are documented by man pages */
/* Encode data with Z85 encoding. Returns encoded data */
ZMQ_EXPORT
char
*
zmq_z85_encode
(
char
*
dest
,
uint8_t
*
data
,
size_t
size
);
/* Decode data with Z85 encoding. Returns decoded data */
ZMQ_EXPORT
uint8_t
*
zmq_z85_decode
(
uint8_t
*
dest
,
char
*
string
);
/* Generate z85-encoded public and private keypair with libsodium. */
/* Returns 0 on success. */
ZMQ_EXPORT
int
zmq_curve_keypair
(
char
*
z85_public_key
,
char
*
z85_secret_key
);
typedef
void
(
zmq_thread_fn
)
(
void
*
);
/* These functions are not documented by man pages */
/* Helper functions are used by perf tests so that they don't have to care */
/* about minutiae of time-related functions on different OS platforms. */
/* Starts the stopwatch. Returns the handle to the watch. */
ZMQ_EXPORT
void
*
zmq_stopwatch_start
(
void
);
/* Stops the stopwatch. Returns the number of microseconds elapsed since */
/* the stopwatch was started. */
ZMQ_EXPORT
unsigned
long
zmq_stopwatch_stop
(
void
*
watch_
);
/* Sleeps for specified number of seconds. */
ZMQ_EXPORT
void
zmq_sleep
(
int
seconds_
);
/* Start a thread. Returns a handle to the thread. */
ZMQ_EXPORT
void
*
zmq_threadstart
(
zmq_thread_fn
*
func
,
void
*
arg
);
/* Wait for thread to complete then free up resources. */
ZMQ_EXPORT
void
zmq_threadclose
(
void
*
thread
);
#undef ZMQ_EXPORT
#ifdef __cplusplus
}
#endif
#endif
/* This file is deprecated, and all its functionality provided by zmq.h */
\ No newline at end of file
tests/testutil.hpp
View file @
bbf59719
...
...
@@ -21,7 +21,6 @@
#define __TESTUTIL_HPP_INCLUDED__
#include "../include/zmq.h"
#include "../include/zmq_utils.h"
#include "../src/stdint.hpp"
#include "platform.hpp"
...
...
@@ -35,6 +34,7 @@
#include <assert.h>
#include <stdarg.h>
#include <string>
#include <string.h>
#if defined _WIN32
# if defined _MSC_VER
...
...
tools/curve_keygen.cpp
View file @
bbf59719
...
...
@@ -24,10 +24,9 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdlib.h>
#include <assert.h>
#include <platform.hpp>
#include <zmq.h>
#include <zmq_utils.h>
int
main
(
void
)
{
...
...
@@ -40,11 +39,9 @@ int main (void)
char
public_key
[
41
];
char
secret_key
[
41
];
int
rc
=
zmq_curve_keypair
(
public_key
,
secret_key
);
if
(
rc
!=
0
)
{
if
(
zmq_errno
()
==
ENOTSUP
)
{
if
(
zmq_curve_keypair
(
public_key
,
secret_key
))
{
if
(
zmq_errno
()
==
ENOTSUP
)
puts
(
"To use curve_keygen, please install libsodium and then rebuild libzmq."
);
}
exit
(
1
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment