aboutsummaryrefslogtreecommitdiff
path: root/include/libssh
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2010-09-06 14:51:01 +0200
committerAris Adamantiadis <aris@0xbadc0de.be>2010-09-06 14:51:01 +0200
commit2cca490076841b431d7a83d020d90e1ad00bbca5 (patch)
tree6c42026aed29faeeb4d8e28ad3f11a4288517887 /include/libssh
parentf7842e3a4b9acea2126ff725f993c299aef0e6db (diff)
downloadlibssh-2cca490076841b431d7a83d020d90e1ad00bbca5.tar.gz
libssh-2cca490076841b431d7a83d020d90e1ad00bbca5.tar.xz
libssh-2cca490076841b431d7a83d020d90e1ad00bbca5.zip
Moved pthread specific code in src/threads/pthread.c
pthread example doesn't compile du to the lack of libssh_threads_native.so library
Diffstat (limited to 'include/libssh')
-rw-r--r--include/libssh/callbacks.h54
1 files changed, 1 insertions, 53 deletions
diff --git a/include/libssh/callbacks.h b/include/libssh/callbacks.h
index f3e8f006..b7047d65 100644
--- a/include/libssh/callbacks.h
+++ b/include/libssh/callbacks.h
@@ -277,59 +277,7 @@ struct ssh_threads_callbacks_struct {
LIBSSH_API int ssh_threads_set_callbacks(struct ssh_threads_callbacks_struct
*cb);
-/** @brief Defines the needed callbacks for pthread. Use this if your
- * OS supports libpthread and want to use it for threading.
- * @code
- * #include <libssh/callbacks.h>
- * #include <errno.h>
- * #include <pthread.h>
- * SSH_THREADS_PTHREAD(ssh_pthread_callbacks);
- * int main(){
- * ssh_init_set_threads_callbacks(&ssh_pthread_callbacks);
- * ssh_init();
- * ...
- * }
- * @endcode
- * @param name name of the structure to be declared, containing the
- * callbacks for threading
- *
- */
-#define SSH_THREADS_PTHREAD(name) \
-static int ssh_pthread_mutex_init (void **priv){ \
- int err = 0; \
- *priv = malloc (sizeof (pthread_mutex_t)); \
- if (*priv==NULL) \
- return ENOMEM; \
- err = pthread_mutex_init (*priv, NULL); \
- if (err != 0){ \
- free (*priv); \
- *priv=NULL; \
- } \
- return err; \
-} \
-static int ssh_pthread_mutex_destroy (void **lock) { \
- int err = pthread_mutex_destroy (*lock); \
- free (*lock); \
- *lock=NULL; \
- return err; \
-} \
-static int ssh_pthread_mutex_lock (void **lock) { \
- return pthread_mutex_lock (*lock); \
-} \
-static int ssh_pthread_mutex_unlock (void **lock){ \
- return pthread_mutex_unlock (*lock); \
-} \
-static unsigned long ssh_pthread_thread_id (void){ \
- return (unsigned long) pthread_self(); \
-} \
-static struct ssh_threads_callbacks_struct name= \
-{ \
- .mutex_init=ssh_pthread_mutex_init, \
- .mutex_destroy=ssh_pthread_mutex_destroy, \
- .mutex_lock=ssh_pthread_mutex_lock, \
- .mutex_unlock=ssh_pthread_mutex_unlock, \
- .thread_id=ssh_pthread_thread_id \
-}
+extern struct ssh_threads_callbacks_struct ssh_pthread_callbacks;
/** @} */
#ifdef __cplusplus