Merge branch 'gpgmepp'
[gpgme.git] / src / ath-pthread.c
index b201f08..47b38ee 100644 (file)
@@ -2,17 +2,17 @@
    Copyright (C) 2002, 2003, 2004 g10 Code GmbH
 
    This file is part of GPGME.
+
    GPGME is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as
    published by the Free Software Foundation; either version 2.1 of
    the License, or (at your option) any later version.
-   
+
    GPGME is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
-   
+
    You should have received a copy of the GNU Lesser General Public
    License along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 
 #include <stdlib.h>
 #include <errno.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 #ifdef HAVE_SYS_SELECT_H
 # include <sys/select.h>
 #else
-# include <sys/time.h>
+# ifdef HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# endif
 #endif
 #include <sys/types.h>
 #include <sys/wait.h>
 
 #include <pthread.h>
 
+#include "gpgme.h"
+
 #include "ath.h"
 
 
@@ -77,6 +83,13 @@ ath_init (void)
 }
 
 
+uintptr_t
+ath_self (void)
+{
+  return (uintptr_t) pthread_self ();
+}
+
+
 int
 ath_mutex_init (ath_mutex_t *lock)
 {
@@ -119,29 +132,29 @@ ath_mutex_unlock (ath_mutex_t *lock)
 }
 
 
-ssize_t
+gpgme_ssize_t
 ath_read (int fd, void *buf, size_t nbytes)
 {
   return read (fd, buf, nbytes);
 }
 
 
-ssize_t
+gpgme_ssize_t
 ath_write (int fd, const void *buf, size_t nbytes)
 {
   return write (fd, buf, nbytes);
 }
 
 
-ssize_t
+gpgme_ssize_t
 ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
            struct timeval *timeout)
 {
   return select (nfd, rset, wset, eset, timeout);
 }
 
-ssize_t
+
+gpgme_ssize_t
 ath_waitpid (pid_t pid, int *status, int options)
 {
   return waitpid (pid, status, options);