cmake: Export missing symbols for win32

This commit is contained in:
Azat Khuzhin 2017-03-14 00:46:47 +03:00
parent 30f2a969e8
commit 48ead58e77
3 changed files with 23 additions and 0 deletions

View File

@ -185,14 +185,23 @@ EVLOCK_TRY_LOCK_(void *lock)
#elif ! defined(EVENT__DISABLE_THREAD_SUPPORT) #elif ! defined(EVENT__DISABLE_THREAD_SUPPORT)
unsigned long evthreadimpl_get_id_(void); unsigned long evthreadimpl_get_id_(void);
EVENT2_EXPORT_SYMBOL
int evthreadimpl_is_lock_debugging_enabled_(void); int evthreadimpl_is_lock_debugging_enabled_(void);
EVENT2_EXPORT_SYMBOL
void *evthreadimpl_lock_alloc_(unsigned locktype); void *evthreadimpl_lock_alloc_(unsigned locktype);
EVENT2_EXPORT_SYMBOL
void evthreadimpl_lock_free_(void *lock, unsigned locktype); void evthreadimpl_lock_free_(void *lock, unsigned locktype);
EVENT2_EXPORT_SYMBOL
int evthreadimpl_lock_lock_(unsigned mode, void *lock); int evthreadimpl_lock_lock_(unsigned mode, void *lock);
EVENT2_EXPORT_SYMBOL
int evthreadimpl_lock_unlock_(unsigned mode, void *lock); int evthreadimpl_lock_unlock_(unsigned mode, void *lock);
EVENT2_EXPORT_SYMBOL
void *evthreadimpl_cond_alloc_(unsigned condtype); void *evthreadimpl_cond_alloc_(unsigned condtype);
EVENT2_EXPORT_SYMBOL
void evthreadimpl_cond_free_(void *cond); void evthreadimpl_cond_free_(void *cond);
EVENT2_EXPORT_SYMBOL
int evthreadimpl_cond_signal_(void *cond, int broadcast); int evthreadimpl_cond_signal_(void *cond, int broadcast);
EVENT2_EXPORT_SYMBOL
int evthreadimpl_cond_wait_(void *cond, void *lock, const struct timeval *tv); int evthreadimpl_cond_wait_(void *cond, void *lock, const struct timeval *tv);
int evthreadimpl_locking_enabled_(void); int evthreadimpl_locking_enabled_(void);

View File

@ -92,6 +92,7 @@ struct event_iocp_port {
HANDLE *shutdownSemaphore; HANDLE *shutdownSemaphore;
}; };
EVENT2_EXPORT_SYMBOL
const struct win32_extension_fns *event_get_win32_extension_fns_(void); const struct win32_extension_fns *event_get_win32_extension_fns_(void);
#else #else
/* Dummy definition so we can test-compile more things on unix. */ /* Dummy definition so we can test-compile more things on unix. */
@ -106,12 +107,14 @@ struct event_overlapped {
@param cb The callback that should be invoked once the IO operation has @param cb The callback that should be invoked once the IO operation has
finished. finished.
*/ */
EVENT2_EXPORT_SYMBOL
void event_overlapped_init_(struct event_overlapped *, iocp_callback cb); void event_overlapped_init_(struct event_overlapped *, iocp_callback cb);
/** Allocate and return a new evbuffer that supports overlapped IO on a given /** Allocate and return a new evbuffer that supports overlapped IO on a given
socket. The socket must be associated with an IO completion port using socket. The socket must be associated with an IO completion port using
event_iocp_port_associate_. event_iocp_port_associate_.
*/ */
EVENT2_EXPORT_SYMBOL
struct evbuffer *evbuffer_overlapped_new_(evutil_socket_t fd); struct evbuffer *evbuffer_overlapped_new_(evutil_socket_t fd);
/** XXXX Document (nickm) */ /** XXXX Document (nickm) */
@ -131,6 +134,7 @@ void evbuffer_overlapped_set_fd_(struct evbuffer *buf, evutil_socket_t fd);
@param ol Overlapped object with associated completion callback. @param ol Overlapped object with associated completion callback.
@return 0 on success, -1 on error. @return 0 on success, -1 on error.
*/ */
EVENT2_EXPORT_SYMBOL
int evbuffer_launch_read_(struct evbuffer *buf, size_t n, struct event_overlapped *ol); int evbuffer_launch_read_(struct evbuffer *buf, size_t n, struct event_overlapped *ol);
/** Start writing data from the start of an evbuffer. /** Start writing data from the start of an evbuffer.
@ -145,21 +149,26 @@ int evbuffer_launch_read_(struct evbuffer *buf, size_t n, struct event_overlappe
@param ol Overlapped object with associated completion callback. @param ol Overlapped object with associated completion callback.
@return 0 on success, -1 on error. @return 0 on success, -1 on error.
*/ */
EVENT2_EXPORT_SYMBOL
int evbuffer_launch_write_(struct evbuffer *buf, ev_ssize_t n, struct event_overlapped *ol); int evbuffer_launch_write_(struct evbuffer *buf, ev_ssize_t n, struct event_overlapped *ol);
/** XXX document */ /** XXX document */
EVENT2_EXPORT_SYMBOL
void evbuffer_commit_read_(struct evbuffer *, ev_ssize_t); void evbuffer_commit_read_(struct evbuffer *, ev_ssize_t);
EVENT2_EXPORT_SYMBOL
void evbuffer_commit_write_(struct evbuffer *, ev_ssize_t); void evbuffer_commit_write_(struct evbuffer *, ev_ssize_t);
/** Create an IOCP, and launch its worker threads. Internal use only. /** Create an IOCP, and launch its worker threads. Internal use only.
This interface is unstable, and will change. This interface is unstable, and will change.
*/ */
EVENT2_EXPORT_SYMBOL
struct event_iocp_port *event_iocp_port_launch_(int n_cpus); struct event_iocp_port *event_iocp_port_launch_(int n_cpus);
/** Associate a file descriptor with an iocp, such that overlapped IO on the /** Associate a file descriptor with an iocp, such that overlapped IO on the
fd will happen on one of the iocp's worker threads. fd will happen on one of the iocp's worker threads.
*/ */
EVENT2_EXPORT_SYMBOL
int event_iocp_port_associate_(struct event_iocp_port *port, evutil_socket_t fd, int event_iocp_port_associate_(struct event_iocp_port *port, evutil_socket_t fd,
ev_uintptr_t key); ev_uintptr_t key);
@ -169,15 +178,18 @@ int event_iocp_port_associate_(struct event_iocp_port *port, evutil_socket_t fd,
0. Otherwise, return -1. If you get a -1 return value, it is safe to call 0. Otherwise, return -1. If you get a -1 return value, it is safe to call
this function again. this function again.
*/ */
EVENT2_EXPORT_SYMBOL
int event_iocp_shutdown_(struct event_iocp_port *port, long waitMsec); int event_iocp_shutdown_(struct event_iocp_port *port, long waitMsec);
/* FIXME document. */ /* FIXME document. */
EVENT2_EXPORT_SYMBOL
int event_iocp_activate_overlapped_(struct event_iocp_port *port, int event_iocp_activate_overlapped_(struct event_iocp_port *port,
struct event_overlapped *o, struct event_overlapped *o,
ev_uintptr_t key, ev_uint32_t n_bytes); ev_uintptr_t key, ev_uint32_t n_bytes);
struct event_base; struct event_base;
/* FIXME document. */ /* FIXME document. */
EVENT2_EXPORT_SYMBOL
struct event_iocp_port *event_base_get_iocp_(struct event_base *base); struct event_iocp_port *event_base_get_iocp_(struct event_base *base);
/* FIXME document. */ /* FIXME document. */
@ -186,6 +198,7 @@ int event_base_start_iocp_(struct event_base *base, int n_cpus);
void event_base_stop_iocp_(struct event_base *base); void event_base_stop_iocp_(struct event_base *base);
/* FIXME document. */ /* FIXME document. */
EVENT2_EXPORT_SYMBOL
struct bufferevent *bufferevent_async_new_(struct event_base *base, struct bufferevent *bufferevent_async_new_(struct event_base *base,
evutil_socket_t fd, int options); evutil_socket_t fd, int options);

View File

@ -437,6 +437,7 @@ void evutil_free_secure_rng_globals_(void);
void evutil_free_globals_(void); void evutil_free_globals_(void);
#ifdef _WIN32 #ifdef _WIN32
EVENT2_EXPORT_SYMBOL
HMODULE evutil_load_windows_system_library_(const TCHAR *library_name); HMODULE evutil_load_windows_system_library_(const TCHAR *library_name);
#endif #endif