@@ -41,43 +41,60 @@ typedef struct bs_job {
41
41
// fd: file descriptor of the socket
42
42
typedef int (* bs_poll_function )(int rw , int fd );
43
43
44
+ /* Handle DSO symbol visibility - Stolen from zmq.h */
45
+ #if defined _WIN32
46
+ # if defined DLL_EXPORT
47
+ # define BSC_EXPORT __declspec(dllexport)
48
+ # else
49
+ # define BSC_EXPORT __declspec(dllimport)
50
+ # endif
51
+ #else
52
+ # if defined __SUNPRO_C || defined __SUNPRO_CC
53
+ # define BSC_EXPORT __global
54
+ # elif (defined __GNUC__ && __GNUC__ >= 4 ) || defined __INTEL_COMPILER
55
+ # define BSC_EXPORT __attribute__ ((visibility("default")))
56
+ # else
57
+ # define BSC_EXPORT
58
+ # endif
59
+ #endif
60
+
44
61
// polling setup
45
- void bs_start_polling (bs_poll_function f );
46
- void bs_reset_polling (void );
62
+ BSC_EXPORT void bs_start_polling (bs_poll_function f );
63
+ BSC_EXPORT void bs_reset_polling (void );
47
64
48
65
// returns a descriptive text of the error code.
49
- const char * bs_status_text (int code );
66
+ BSC_EXPORT const char * bs_status_text (int code );
50
67
51
- void bs_free_message (BSM * m );
52
- void bs_free_job (BSJ * job );
68
+ BSC_EXPORT void bs_free_message (BSM * m );
69
+ BSC_EXPORT void bs_free_job (BSJ * job );
53
70
54
71
// returns socket descriptor or BS_STATUS_FAIL
55
- int bs_connect (char * host , int port );
72
+ BSC_EXPORT int bs_connect (char * host , int port );
56
73
// returns job id or one of the negative failure codes.
57
- int bs_put (int fd , int priority , int delay , int ttr , char * data , size_t bytes );
74
+ BSC_EXPORT int bs_put (int fd , int priority , int delay , int ttr , char * data , size_t bytes );
58
75
59
76
// rest return BS_STATUS_OK or one of the failure codes.
60
- int bs_disconnect (int fd );
61
- int bs_use (int fd , char * tube );
62
- int bs_watch (int fd , char * tube );
63
- int bs_ignore (int fd , char * tube );
64
- int bs_delete (int fd , int job );
65
- int bs_reserve (int fd , BSJ * * job );
66
- int bs_reserve_with_timeout (int fd , int ttl , BSJ * * job );
67
- int bs_release (int fd , int id , int priority , int delay );
68
- int bs_bury (int fd , int id , int priority );
69
- int bs_touch (int fd , int id );
70
- int bs_peek (int fd , int id , BSJ * * job );
71
- int bs_peek_ready (int fd , BSJ * * job );
72
- int bs_peek_delayed (int fd , BSJ * * job );
73
- int bs_peek_buried (int fd , BSJ * * job );
74
- int bs_kick (int fd , int bound );
75
- int bs_list_tube_used (int fd , char * * tube );
76
- int bs_list_tubes (int fd , char * * yaml );
77
- int bs_list_tubes_watched (int fd , char * * yaml );
78
- int bs_stats (int fd , char * * yaml );
79
- int bs_stats_job (int fd , int id , char * * yaml );
80
- int bs_stats_tube (int fd , char * tube , char * * yaml );
77
+ BSC_EXPORT int bs_disconnect (int fd );
78
+ BSC_EXPORT int bs_use (int fd , char * tube );
79
+ BSC_EXPORT int bs_watch (int fd , char * tube );
80
+ BSC_EXPORT int bs_ignore (int fd , char * tube );
81
+ BSC_EXPORT int bs_delete (int fd , int job );
82
+ BSC_EXPORT int bs_reserve (int fd , BSJ * * job );
83
+ BSC_EXPORT int bs_reserve_with_timeout (int fd , int ttl , BSJ * * job );
84
+ BSC_EXPORT int bs_release (int fd , int id , int priority , int delay );
85
+ BSC_EXPORT int bs_bury (int fd , int id , int priority );
86
+ BSC_EXPORT int bs_touch (int fd , int id );
87
+ BSC_EXPORT int bs_peek (int fd , int id , BSJ * * job );
88
+ BSC_EXPORT int bs_peek_ready (int fd , BSJ * * job );
89
+ BSC_EXPORT int bs_peek_delayed (int fd , BSJ * * job );
90
+ BSC_EXPORT int bs_peek_buried (int fd , BSJ * * job );
91
+ BSC_EXPORT int bs_kick (int fd , int bound );
92
+ BSC_EXPORT int bs_list_tube_used (int fd , char * * tube );
93
+ BSC_EXPORT int bs_list_tubes (int fd , char * * yaml );
94
+ BSC_EXPORT int bs_list_tubes_watched (int fd , char * * yaml );
95
+ BSC_EXPORT int bs_stats (int fd , char * * yaml );
96
+ BSC_EXPORT int bs_stats_job (int fd , int id , char * * yaml );
97
+ BSC_EXPORT int bs_stats_tube (int fd , char * tube , char * * yaml );
81
98
82
99
#ifdef __cplusplus
83
100
}
0 commit comments