summaryrefslogtreecommitdiffstats
path: root/libc/include
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-11-12 18:45:14 -0800
committerJean-Baptiste Queru <jbq@google.com>2009-11-12 18:45:14 -0800
commit194d3fa048cf909ca592dd56fa538dc9cd3f5ddb (patch)
tree3a00bb9e267cf952d7d1140ff9a39ca07ee6c994 /libc/include
parentfde8642fc43bdd224e43e5ee9583a49a758fb03c (diff)
downloadbionic-194d3fa048cf909ca592dd56fa538dc9cd3f5ddb.zip
bionic-194d3fa048cf909ca592dd56fa538dc9cd3f5ddb.tar.gz
bionic-194d3fa048cf909ca592dd56fa538dc9cd3f5ddb.tar.bz2
eclair snapshot
Diffstat (limited to 'libc/include')
-rw-r--r--libc/include/arpa/inet.h1
-rw-r--r--libc/include/netinet/in.h4
-rw-r--r--libc/include/netinet/in6.h8
-rw-r--r--libc/include/pthread.h27
-rw-r--r--libc/include/time.h22
5 files changed, 60 insertions, 2 deletions
diff --git a/libc/include/arpa/inet.h b/libc/include/arpa/inet.h
index 3ebb872..e78e7c5 100644
--- a/libc/include/arpa/inet.h
+++ b/libc/include/arpa/inet.h
@@ -31,7 +31,6 @@
#include <stdint.h>
#include <sys/types.h>
#include <netinet/in.h>
-#include <netinet/in6.h>
__BEGIN_DECLS
diff --git a/libc/include/netinet/in.h b/libc/include/netinet/in.h
index 77ae506..0ebd926 100644
--- a/libc/include/netinet/in.h
+++ b/libc/include/netinet/in.h
@@ -32,6 +32,7 @@
#include <linux/socket.h>
#include <linux/in.h>
#include <linux/in6.h>
+#include <netinet/in6.h>
__BEGIN_DECLS
@@ -39,6 +40,9 @@ __BEGIN_DECLS
extern int bindresvport (int sd, struct sockaddr_in *sin);
+static const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT;
+static const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT;
+
__END_DECLS
#endif /* _NETINET_IN_H_ */
diff --git a/libc/include/netinet/in6.h b/libc/include/netinet/in6.h
index e645c48..2f5fee1 100644
--- a/libc/include/netinet/in6.h
+++ b/libc/include/netinet/in6.h
@@ -90,4 +90,12 @@
#define INET6_ADDRSTRLEN 46
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+
+#define IN6ADDR_ANY_INIT {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}}
+
+#define ipv6mr_interface ipv6mr_ifindex
+
+
#endif /* _NETINET_IN6_H */
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index e3afdae..6603b3f 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -179,14 +179,41 @@ int pthread_cond_timedwait(pthread_cond_t *cond,
* to the CLOCK_MONOTONIC clock instead, to avoid any problems when
* the wall-clock time is changed brutally
*/
+int pthread_cond_timedwait_monotonic_np(pthread_cond_t *cond,
+ pthread_mutex_t *mutex,
+ const struct timespec *abstime);
+
+/* BIONIC: DEPRECATED. same as pthread_cond_timedwait_monotonic_np()
+ * unfortunately pthread_cond_timedwait_monotonic has shipped already
+ */
int pthread_cond_timedwait_monotonic(pthread_cond_t *cond,
pthread_mutex_t *mutex,
const struct timespec *abstime);
+#define HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC 1
+
+/* BIONIC: same as pthread_cond_timedwait, except the 'reltime' given refers
+ * is relative to the current time.
+ */
+int pthread_cond_timedwait_relative_np(pthread_cond_t *cond,
+ pthread_mutex_t *mutex,
+ const struct timespec *reltime);
+
+#define HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE 1
+
+
+
int pthread_cond_timeout_np(pthread_cond_t *cond,
pthread_mutex_t * mutex,
unsigned msecs);
+/* same as pthread_mutex_lock(), but will wait up to 'msecs' milli-seconds
+ * before returning. same return values than pthread_mutex_trylock though, i.e.
+ * returns EBUSY if the lock could not be acquired after the timeout
+ * expired.
+ */
+int pthread_mutex_lock_timeout_np(pthread_mutex_t *mutex, unsigned msecs);
+
int pthread_key_create(pthread_key_t *key, void (*destructor_function)(void *));
int pthread_key_delete (pthread_key_t);
int pthread_setspecific(pthread_key_t key, const void *value);
diff --git a/libc/include/time.h b/libc/include/time.h
index 35c2358..5d1a0e2 100644
--- a/libc/include/time.h
+++ b/libc/include/time.h
@@ -79,9 +79,29 @@ extern struct tm* gmtime_r(const time_t *timep, struct tm *result);
extern char* strptime(const char *buf, const char *fmt, struct tm *tm);
extern size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);
+/* ANDROID-BEGIN */
+struct strftime_locale {
+ const char * mon[12];
+ const char * month[12];
+ const char * standalone_month[12];
+ const char * wday[7];
+ const char * weekday[7];
+ const char * X_fmt;
+ const char * x_fmt;
+ const char * c_fmt;
+ const char * am;
+ const char * pm;
+ const char * date_fmt;
+};
+
+extern size_t strftime_tz(char *s, size_t max, const char *format, const struct tm *tm, const struct strftime_locale* lc);
+/* ANDROID-END */
+
extern char *ctime(const time_t *timep);
extern char *ctime_r(const time_t *timep, char *buf);
+extern void tzset(void);
+
/* global includes */
extern char* tzname[];
extern int daylight;
@@ -89,7 +109,7 @@ extern long int timezone;
#define CLOCKS_PER_SEC 1000000
-extern clock_t clock();
+extern clock_t clock(void);
/* BIONIC: extra linux clock goodies */
extern int clock_getres(int, struct timespec *);