diff --git a/src/box/box.cc b/src/box/box.cc
index c01b086135c39a1029884b3778b0d0a9fcf89c25..ae0907e0fb5c72e3bdf3316d1551ba00f516204a 100644
--- a/src/box/box.cc
+++ b/src/box/box.cc
@@ -1069,7 +1069,7 @@ boxk(int type, uint32_t space_id, const char *format, ...)
 	return box_process_rw(&request, space, NULL);
 }
 
-int
+API_EXPORT int
 box_return_tuple(box_function_ctx_t *ctx, box_tuple_t *tuple)
 {
 	return port_c_add_tuple(ctx->port, tuple);
@@ -1082,7 +1082,7 @@ box_return_mp(box_function_ctx_t *ctx, const char *mp, const char *mp_end)
 }
 
 /* schema_find_id()-like method using only public API */
-uint32_t
+API_EXPORT uint32_t
 box_space_id_by_name(const char *name, uint32_t len)
 {
 	if (len > BOX_NAME_MAX)
@@ -1107,7 +1107,7 @@ box_space_id_by_name(const char *name, uint32_t len)
 	return result;
 }
 
-uint32_t
+API_EXPORT uint32_t
 box_index_id_by_name(uint32_t space_id, const char *name, uint32_t len)
 {
 	if (len > BOX_NAME_MAX)
@@ -1149,7 +1149,7 @@ box_process1(struct request *request, box_tuple_t **result)
 	return box_process_rw(request, space, result);
 }
 
-int
+API_EXPORT int
 box_select(uint32_t space_id, uint32_t index_id,
 	   int iterator, uint32_t offset, uint32_t limit,
 	   const char *key, const char *key_end,
@@ -1224,7 +1224,7 @@ box_select(uint32_t space_id, uint32_t index_id,
 	return 0;
 }
 
-int
+API_EXPORT int
 box_insert(uint32_t space_id, const char *tuple, const char *tuple_end,
 	   box_tuple_t **result)
 {
@@ -1238,7 +1238,7 @@ box_insert(uint32_t space_id, const char *tuple, const char *tuple_end,
 	return box_process1(&request, result);
 }
 
-int
+API_EXPORT int
 box_replace(uint32_t space_id, const char *tuple, const char *tuple_end,
 	    box_tuple_t **result)
 {
@@ -1252,7 +1252,7 @@ box_replace(uint32_t space_id, const char *tuple, const char *tuple_end,
 	return box_process1(&request, result);
 }
 
-int
+API_EXPORT int
 box_delete(uint32_t space_id, uint32_t index_id, const char *key,
 	   const char *key_end, box_tuple_t **result)
 {
@@ -1267,7 +1267,7 @@ box_delete(uint32_t space_id, uint32_t index_id, const char *key,
 	return box_process1(&request, result);
 }
 
-int
+API_EXPORT int
 box_update(uint32_t space_id, uint32_t index_id, const char *key,
 	   const char *key_end, const char *ops, const char *ops_end,
 	   int index_base, box_tuple_t **result)
@@ -1288,7 +1288,7 @@ box_update(uint32_t space_id, uint32_t index_id, const char *key,
 	return box_process1(&request, result);
 }
 
-int
+API_EXPORT int
 box_upsert(uint32_t space_id, uint32_t index_id, const char *tuple,
 	   const char *tuple_end, const char *ops, const char *ops_end,
 	   int index_base, box_tuple_t **result)
@@ -1340,7 +1340,7 @@ space_truncate(struct space *space)
 		diag_raise();
 }
 
-int
+API_EXPORT int
 box_truncate(uint32_t space_id)
 {
 	try {
@@ -1406,7 +1406,7 @@ sequence_data_delete(uint32_t seq_id)
 	return rc;
 }
 
-int
+API_EXPORT int
 box_sequence_next(uint32_t seq_id, int64_t *result)
 {
 	struct sequence *seq = sequence_cache_find(seq_id);
@@ -1423,7 +1423,7 @@ box_sequence_next(uint32_t seq_id, int64_t *result)
 	return 0;
 }
 
-int
+API_EXPORT int
 box_sequence_current(uint32_t seq_id, int64_t *result)
 {
 	struct sequence *seq = sequence_cache_find(seq_id);
@@ -1436,7 +1436,7 @@ box_sequence_current(uint32_t seq_id, int64_t *result)
 	return 0;
 }
 
-int
+API_EXPORT int
 box_sequence_set(uint32_t seq_id, int64_t value)
 {
 	struct sequence *seq = sequence_cache_find(seq_id);
@@ -1449,7 +1449,7 @@ box_sequence_set(uint32_t seq_id, int64_t value)
 	return sequence_data_update(seq_id, value);
 }
 
-int
+API_EXPORT int
 box_sequence_reset(uint32_t seq_id)
 {
 	struct sequence *seq = sequence_cache_find(seq_id);
diff --git a/src/lib/core/coio.cc b/src/lib/core/coio.cc
index 6a113aa47b2b86d25aab68192155bfb70863ffcc..5dfe851d4a6be91a03d79a363c8dae7c089e7996 100644
--- a/src/lib/core/coio.cc
+++ b/src/lib/core/coio.cc
@@ -750,7 +750,7 @@ coio_wait_cb(struct ev_loop *loop, ev_io *watcher, int revents)
 	fiber_wakeup(wdata->fiber);
 }
 
-int
+API_EXPORT int
 coio_wait(int fd, int events, double timeout)
 {
 	if (fiber_is_cancelled())
@@ -773,7 +773,8 @@ coio_wait(int fd, int events, double timeout)
 	return wdata.revents & (EV_READ | EV_WRITE);
 }
 
-int coio_close(int fd)
+API_EXPORT int
+coio_close(int fd)
 {
 	ev_io_closing(loop(), fd, EV_CUSTOM);
 	return close(fd);